CN104102708A - 一种实现小文件存取的方法及装置 - Google Patents

一种实现小文件存取的方法及装置 Download PDF

Info

Publication number
CN104102708A
CN104102708A CN201410334182.6A CN201410334182A CN104102708A CN 104102708 A CN104102708 A CN 104102708A CN 201410334182 A CN201410334182 A CN 201410334182A CN 104102708 A CN104102708 A CN 104102708A
Authority
CN
China
Prior art keywords
inode
file
data
written
reading
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
Application number
CN201410334182.6A
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.)
Inspur Beijing Electronic Information Industry Co Ltd
Original Assignee
Inspur Beijing Electronic Information Industry 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 Inspur Beijing Electronic Information Industry Co Ltd filed Critical Inspur Beijing Electronic Information Industry Co Ltd
Priority to CN201410334182.6A priority Critical patent/CN104102708A/zh
Publication of CN104102708A publication Critical patent/CN104102708A/zh
Pending legal-status Critical Current

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/13File access structures, e.g. distributed indices

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种实现小文件存取的方法及装置,其中该实现小文件存取的方法包括:检测写入文件的大小;将写入文件的大小与预先给定的阈值进行比较,当写入文件的大小小于或等于给定阈值时,则将写入文件的数据存放在数据结构inode中,并且在所述inode中添加标志位为1;否则,将所述写入文件存入inode指向的数据块中,在所述inode中添加标志位为0;根据所述inode中的标志位读取写入文件的数据。该小文件存取的方法大大提高了小文件存储和读取的速度。

Description

一种实现小文件存取的方法及装置
技术领域
本发明涉及计算机存储技术,尤指一种实现小文件存取的方法及装置。
背景技术
小文件一般指1MB以下的文件。大量小文件的存储和读取一直是存储系统的难以解决的难题,尤其随着计算机技术的发展,数据会越来越多。
现有技术一般是这样存放数据的:首先创建一个数据结构(inode),每个inode是唯一的,且分别指向一个数据块,将写入文件的数据存放在这个数据块中,inode和数据块是一一对应的。现在的多数文件系统,并不区别对待小文件和大文件,即不按照文件的大小进行区分,都是一样的存储和读取。这就使得大量的随机读写小文件会很慢,延迟很高。如何加快小文件的存取速度,一直是个悬而未决的难题。
发明内容
为了解决上述问题,本发明提供了一种实现小文件存取的方法及装置,能够有效提高小文件存储和读取的速度。
为了达到上述发明目的,本发明公开了一种实现小文件存取的方法,包括:
检测写入文件的大小;
将写入文件的大小与预先给定的阈值进行比较,当写入文件的大小小于或等于给定阈值时,则将写入文件的数据存放在数据结构inode中,并且在inode中添加标志位为1;否则,将写入文件存入inode指向的数据块中,在inode中添加标志位为0;
根据inode中的标志位读取写入文件的数据。
进一步地,根据inode中的标志位读取写入文件的数据,包括:
当inode添加的标志位为1时,在inode中读取写入文件的数据;
当inode添加的标志位为0时,则在inode指向的数据块中读取写入文件的数据。
本发明还公开了一种实现小文件存取的装置,包括:文件大小检测模块、比较模块、第一存储模块、第二存储模块和读取模块;其中,
文件大小检测模块,用于检测写入文件的大小,并将检测结果传给比较模块;
比较模块,用于将写入文件的大小与预先给定的阈值进行比较;
第一存储模块,用于当写入文件的大小小于或等给定于阈值时,则将写入文件的数据存放在数据结构inode中,并且在inode中添加标志位为1;
第二存储模块,用于当写入文件的大小大于给定阈值时,将写入文件存入inode指向的数据块中,在inode中添加标志位为0;
读取模块,用于根据inode中的标志位读取写入文件的数据。
进一步地,读取模块装置包括:第一读取模块和第二读取模块;其中,
第一读取模块,用于当inode添加的标志位为1时,在inode中读取写入文件的数据;
第二读取模块,用于当inode添加的标志位为0时,则在inode指向的数据块中读取写入文件的数据。
本申请技术方案提供的实现小文件存取的方法,包括:检测写入文件的大小;将写入文件的大小与预先给定的阈值进行比较,当写入文件的大小小于或等于给定阈值时,则将写入文件的数据存放在数据结构inode中,并且在所述inode中添加标志位为1;否则,将所述写入文件存入inode指向的数据块中,在所述inode中添加标志位为0;根据所述inode中的标志位读取写入文件的数据。本申请的技术方案大大提高了小文件存储和读取的速度。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实现小文件存取的方法的流程图;
图2为本发明实现小文件存取的装置的组成结构示意图。
具体实施方式
下面结合附图及具体实施例对本发明进行详细说明。
图1是本发明实现小文件存取的方法的流程图,如图1所示,包括以下步骤:
步骤101,检测写入文件的大小。
文件系统提供相应的函数来实现如何检测写入文件的大小,为本领域技术人员熟知的公知常识,在此不再赘述。
步骤102,将写入文件的大小与预先给定的阈值进行比较,当写入文件的大小小于或等于给定阈值时,则将写入文件的数据存放在数据结构inode中,并且在所述inode中添加标志位为1;否则,将所述写入文件存入inode指向的数据块中,在所述inode中添加标志位为0。
数据块是硬盘上存放数据的最小单元。现有技术就是将数据就存放在数据块中,至于inode与数据块的对应关系属于本领域的公知常识,在此不再赘述。
inode是UNIX操作系统中的一种数据结构,其本质是结构体,它包含了与文件系统中各个文件相关的一些重要信息。在UNIX中创建文件系统时,同时将会创建大量的inode。通常,文件系统磁盘空间中大约百分之一空间分配给了inode表。
需要说明的是,预先给定的阈值是需要根据实际应用情况来确定的。例如,1M,适用于动漫渲染类似的应用。
步骤103,根据该inode中的标志位读取写入文件的数据。
本步骤具体包括:
当inode添加的标志位为1时,在inode中读取写入文件的数据;
当inode添加的标志位为0时,则在inode指向的数据块中读取写入文件的数据。
上述方法中,将小于或等于阈值的写入文件的数据存储在inode中,省去了从inode到数据块的指向,并且减少了存储和读取(访问)的时间,从而提高了存储和读取的速度。而对于不存放在inode中的写入文件的数据,数据的读取方式不受影响,即按照现有技术在inode指向的数据块中读取文件的数据。
图2为本发明实现小文件存取的装置的组成结构示意图,如图2所示,包括:文件大小检测模块、比较模块、第一存储模块、第二存储模块和读取模块。其中,
文件大小检测模块,用于检测写入文件的大小,并将检测结果传给比较模块。
比较模块,用于将写入文件的大小与预先给定的阈值进行比较,并在数据结构inode中添加标志位为1或0。
第一存储模块,用于当写入文件的大小小于或等给定于阈值时,则将写入文件的数据存放在数据结构inode中,并且在所述inode中添加标志位为1。
第二存储模块,用于当写入文件的大小大于给定阈值时,将所述写入文件存入inode指向的数据块中,在所述inode中添加标志位为0。
读取模块,用于根据所述inode中的标志位读取写入文件的数据。
进一步地,上述读取模块包括:第一读取模块和第二读取模块;其中,
第一读取模块,用于当所述inode添加的标志位为1时,在所述inode中读取所述写入文件的数据。
第二读取模块,用于当所述inode添加的标志位为0时,则在inode指向的数据块中读取所述写入文件的数据。
通过上述文件大小检测模块、比较模块、第一存储模块、第二存储模块和读取模块的配合,将小于或等于阈值的写入文件的数据存储在inode中,省去了从inode到数据块的指向,并且减少了存储和读取(访问)的时间,从而提高了存储和读取的速度。而对于不存放在inode中的写入文件的数据,通过第二存储模块和第二读取模块,使得数据的读写方式不受影响。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本申请不限制于任何特定形式的硬件和软件的结合。
以上所述,仅为本发明的较佳实例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (4)

1.一种实现小文件存取的方法,包括:
检测写入文件的大小;
将写入文件的大小与预先给定的阈值进行比较,当写入文件的大小小于或等于给定阈值时,则将写入文件的数据存放在数据结构inode中,并且在所述inode中添加标志位为1;否则,将所述写入文件存入inode指向的数据块中,在所述inode中添加标志位为0;
根据所述inode中的标志位读取写入文件的数据。
2.根据权利要求1所述的方法,其特征在于,所述根据所述inode中的标志位读取写入文件的数据,包括:
当所述inode添加的标志位为1时,在所述inode中读取所述写入文件的数据;
当所述inode添加的标志位为0时,则在inode指向的数据块中读取所述写入文件的数据。
3.一种实现小文件存取的装置,包括:文件大小检测模块、比较模块、第一存储模块、第二存储模块和读取模块;其中,
文件大小检测模块,用于检测写入文件的大小,并将检测结果传给比较模块;
比较模块,用于将写入文件的大小与预先给定的阈值进行比较;
第一存储模块,用于当写入文件的大小小于或等给定于阈值时,则将写入文件的数据存放在数据结构inode中,并且在所述inode中添加标志位为1;
第二存储模块,用于当写入文件的大小大于给定阈值时,将所述写入文件存入inode指向的数据块中,在所述inode中添加标志位为0;
读取模块,用于根据所述inode中的标志位读取写入文件的数据。
4.根据权利要求3所述的装置,其特征在于,所述读取模块装置包括:第一读取模块和第二读取模块;其中,
第一读取模块,用于当所述inode添加的标志位为1时,在所述inode中读取所述写入文件的数据;
第二读取模块,用于当所述inode添加的标志位为0时,则在inode指向的数据块中读取所述写入文件的数据。
CN201410334182.6A 2014-07-14 2014-07-14 一种实现小文件存取的方法及装置 Pending CN104102708A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410334182.6A CN104102708A (zh) 2014-07-14 2014-07-14 一种实现小文件存取的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410334182.6A CN104102708A (zh) 2014-07-14 2014-07-14 一种实现小文件存取的方法及装置

Publications (1)

Publication Number Publication Date
CN104102708A true CN104102708A (zh) 2014-10-15

Family

ID=51670862

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410334182.6A Pending CN104102708A (zh) 2014-07-14 2014-07-14 一种实现小文件存取的方法及装置

Country Status (1)

Country Link
CN (1) CN104102708A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105141685A (zh) * 2015-08-18 2015-12-09 浪潮(北京)电子信息产业有限公司 文件读写系统及其元数据存储器和文件读写方法和装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1661568A (zh) * 2004-02-24 2005-08-31 中国科学院声学研究所 一种嵌入式环境下音像录放装置的文件系统
CN101473305A (zh) * 2006-04-28 2009-07-01 网络装置公司 用于集群环境中的作业的管理的系统和方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1661568A (zh) * 2004-02-24 2005-08-31 中国科学院声学研究所 一种嵌入式环境下音像录放装置的文件系统
CN101473305A (zh) * 2006-04-28 2009-07-01 网络装置公司 用于集群环境中的作业的管理的系统和方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
翟超: ""基于对象存储的日志文件系统研究"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105141685A (zh) * 2015-08-18 2015-12-09 浪潮(北京)电子信息产业有限公司 文件读写系统及其元数据存储器和文件读写方法和装置

Similar Documents

Publication Publication Date Title
US9766974B2 (en) Data storage device and data access-method
US11416417B2 (en) Method and apparatus to generate zero content over garbage data when encryption parameters are changed
US10203899B2 (en) Method for writing data into flash memory apparatus, flash memory apparatus, and storage system
US9620227B1 (en) Characterizing and operating a non-volatile memory device
US10248587B2 (en) Reduced host data command processing
CN101436152A (zh) 一种数据备份的方法和装置
KR20170023734A (ko) 플래시 메모리 플러싱을 개선하는 방법 및 시스템
US20200293441A1 (en) Data storage devices and data processing methods
US8347052B2 (en) Initializing of a memory area
US9411513B2 (en) Sensitive data file attribute
US20160342508A1 (en) Identifying memory regions that contain remapped memory locations
US20190377693A1 (en) Method to generate pattern data over garbage data when encryption parameters are changed
US9674141B2 (en) Techniques for implementing a secure mailbox in resource-constrained embedded systems
US20190096490A1 (en) Pseudo single pass nand memory programming
US10289334B2 (en) Valid data merging method, memory controller and memory storage apparatus
CN104216666A (zh) 一种管理磁盘数据写入的方法及装置
KR20090098275A (ko) 플래시 메모리 시스템
CN104102708A (zh) 一种实现小文件存取的方法及装置
US9804968B2 (en) Storage system and data writing method
CN109002265B (zh) 一种数据处理的方法以及相关装置
JP2013235530A5 (zh)
CN112463041A (zh) 一种主机读写数据的处理方法及相关装置
CN105608019B (zh) 一种在硬核ram快速查找数据的方法
CN106991021A (zh) 从现有数据文件构建新数据文件的方法及系统
CN108073362B (zh) 一种延长PairBlock使用寿命的方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into 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: 20141015