CN107193492A - 一种小文件更新的方法及装置 - Google Patents
一种小文件更新的方法及装置 Download PDFInfo
- Publication number
- CN107193492A CN107193492A CN201710352054.8A CN201710352054A CN107193492A CN 107193492 A CN107193492 A CN 107193492A CN 201710352054 A CN201710352054 A CN 201710352054A CN 107193492 A CN107193492 A CN 107193492A
- Authority
- CN
- China
- Prior art keywords
- updated
- obj
- file
- objects
- obj objects
- 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
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/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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
- G06F3/0676—Magnetic disk device
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
本发明公开了一种小文件更新的方法及装置,通过将多个待更新源文件存储至聚合文件,上述聚合文件包含用于存储源文件的多个OBJ对象,上述OBJ对象包含多个待更新源文件;当OBJ对象的剩余存储空间等于或小于预设数值时,将OBJ对象内的多个待更新源文件批量写入磁盘。本申请将多个待更新源文件存储到同一个OBJ对象,提高了磁盘的使用率;当OBJ对象内所存储的待更新源文件大小达到预期条件时,将OBJ对象内存储的多个待更新源文件批量写入磁盘,这样可以减少写入磁盘的次数,减轻磁盘的压力,进而使得文件写性能较高。可见,本申请有利于提高文件写性能。
Description
技术领域
本发明涉及文件系统领域,特别是涉及一种小文件更新的方法及装置。
背景技术
随着文件系统技术的发展,分布式存储文件系统的应用也越来越广泛。
分布式存储文件系统中,文件存储过程可以通过将每个文件写入对应的OBJ对象中,即无论文件的大小,都会将文件存储至一个固定大小的OBJ对象内,也即一个OBJ对象内存储一个文件,继而将OBJ对象内的存储对象写入磁盘中。
相应地,文件更新时,可以将单个更新文件存储到对应的OBJ对象后,再写入磁盘。面向海量小文件存储场景时,由于一个OBJ对象存储一个小文件,即每次只将一个小文件写入磁盘,这样会增加文件写入磁盘的次数,降低磁盘的使用率,增加磁盘的运算压力,进而导致文件写性能较低。
发明内容
本发明的目的是提供一种小文件更新的方法及装置,目的在于解决现有技术中的海量小文件存储场景下的文件写性能较低的问题。
为解决上述技术问题,本发明提供一种小文件更新的方法,该方法包括:
将多个待更新源文件存储至聚合文件,所述聚合文件包含用于存储源文件的多个OBJ对象,所述OBJ对象包含多个所述待更新源文件;
当所述OBJ对象的剩余存储空间等于或小于预设数值时,将所述OBJ对象内的多个所述待更新源文件批量写入磁盘。
可选地,所述将多个待更新源文件存储至聚合文件包括:
将所述多个所述待更新源文件存储至第一OBJ对象;
当多个所述待更新源文件大于所述第一OBJ对象的存储容量时,将超出所述第一OBJ对象的存储容量的所述待更新源文件存储至第二OBJ对象。
可选地,所述当所述OBJ对象的剩余存储空间等于或小于预设数值时,将所述OBJ对象内的多个所述待更新源文件批量写入磁盘包括:
当所述OBJ对象的所述剩余存储空间等于或小于存储空间的十分之一时,将所述OBJ对象内的多个所述待更新源文件批量写入磁盘。
此外,本发明还提供了一种小文件更新的装置,该装置包括:
存储模块,用于将多个待更新源文件存储至聚合文件,所述聚合文件包含用于存储源文件的多个OBJ对象,所述OBJ对象包含多个所述待更新源文件;
批量写入模块,用于当所述OBJ对象的剩余存储空间等于或小于预设数值时,将所述OBJ对象内的多个所述待更新源文件批量写入磁盘。
可选地,所述存储模块包括:
第一存储单元,用于将所述多个所述待更新源文件存储至第一OBJ对象;
第二存储单元,用于当多个所述待更新源文件大于所述第一OBJ对象的存储容量时,将超出所述第一OBJ对象的存储容量的所述待更新源文件存储至第二OBJ对象。
可选地,所述批量写入模块包括:
批量写入单元,用于当所述OBJ对象的所述剩余存储空间等于或小于存储空间的十分之一时,将所述OBJ对象内的多个所述待更新源文件批量写入磁盘。
本发明所提供的一种小文件更新的方法及装置,通过将多个待更新源文件存储至聚合文件,所述聚合文件包含用于存储源文件的多个OBJ对象,所述OBJ对象包含多个所述待更新源文件;当所述OBJ对象的剩余存储空间等于或小于预设数值时,将所述OBJ对象内的多个所述待更新源文件批量写入磁盘。本申请将多个待更新源文件存储到同一个OBJ对象,提高了磁盘的使用率;当OBJ对象内所存储的待更新源文件大小达到预期条件时,将OBJ对象内存储的多个待更新源文件批量写入磁盘,即一次更新多个源文件,这样可以减少写入磁盘的次数,减轻磁盘的压力,进而使得文件写性能较高。可见,本申请有利于提高文件写性能。
附图说明
为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例所提供的小文件更新方法的一种具体实施方式的流程示意图;
图2为本发明实施例所提供的小文件更新装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参见图1,图1为本发明实施例所提供的小文件更新方法的一种具体实施方式的流程示意图,该方法包括以下步骤:
步骤101:将多个待更新源文件存储至聚合文件,所述聚合文件包含用于存储源文件的多个OBJ对象,所述OBJ对象包含多个所述待更新源文件;
需要说明的是,基于海量小文件存储的场景,上述待更新源文件可以是指小文件,且各个待更新源文件的大小可以相同,也可以不同。上述聚合文件可以包括多个OBJ对象,且每个OBJ对象内可以存储多个小文件,此时,聚合文件可以有n个OBJ对象,每个OBJ对象可以存储m个源文件。且上述OBJ对象的存储空间是固定的,例如为4MB。
当所要存储的待更新源文件的大小大于一个OBJ对象的存储空间时,可以将导致超出OBJ对象的存储空间的待更新源文件存储至下一个OBJ对象。
作为一种具体实施方式,上述将多个待更新源文件存储至聚合文件的过程可以具体为:将所述多个所述待更新源文件存储至第一OBJ对象;当多个所述待更新源文件大于所述第一OBJ对象的存储容量时,将超出所述第一OBJ对象的存储容量的所述待更新源文件存储至第二OBJ对象。
可以理解的是,上述第二OBJ对象可以是指不同于第一OBJ对象的OBJ对象。例如,当需要存储n个待更新源文件至聚合文件,而当前OBJ对象的存储空间只能存储其中的n-1个,则可以将其中一个待更新源文件存储至同一聚合文件的另一个OBJ对象内。
步骤102:当所述OBJ对象的剩余存储空间等于或小于预设数值时,将所述OBJ对象内的多个所述待更新源文件批量写入磁盘。
需要说明的是,上述预设数值可以是0,也可以是其它数值,在此不再限定。
具体地,当OBJ对象在被写满或将近被写满时,可以将该OBJ对象内的所有待更新源文件统一写入至磁盘,即批量写入磁盘,实现批量更新源文件的目的。
当然,上述预设数值可以根据实际需要进行设定,例如,可以将预设数值大小设定为该OBJ对象总存储空间的十分之一大小。
作为一种具体实施方式,上述当所述OBJ对象的剩余存储空间等于或小于预设数值时,将所述OBJ对象内的多个所述待更新源文件批量写入磁盘的过程可以具体为:当所述OBJ对象的所述剩余存储空间等于或小于存储空间的十分之一时,将所述OBJ对象内的多个所述待更新源文件批量写入磁盘。
可以理解的是,当上述OBJ对象的总存储空间为4M时,则预设数值为0.4M,此时,当OBJ对象的剩余存储空间小于或等于0.4M时,则可以将该OBJ对象内的文件批量写入磁盘中。
本发明实施例所提供的小文件更新方法,通过将多个待更新源文件存储至聚合文件,上述聚合文件包含用于存储源文件的多个OBJ对象,上述OBJ对象包含多个待更新源文件;当OBJ对象的剩余存储空间等于或小于预设数值时,将OBJ对象内的多个待更新源文件批量写入磁盘。该方法将多个待更新源文件存储到同一个OBJ对象,提高了磁盘的使用率;当OBJ对象内所存储的待更新源文件大小达到预期条件时,将OBJ对象内存储的多个待更新源文件批量写入磁盘,这样可以减少写入磁盘的次数,减轻磁盘的压力,进而使得文件写性能较高。
下面对本发明实施例提供的小文件更新装置进行介绍,下文描述的小文件更新装置与上文描述的小文件更新方法可相互对应参照。
图2为本发明实施例所提供的小文件更新装置的结构框图,参照图2小文件更新装置可以包括:
存储模块21用于将多个待更新源文件存储至聚合文件,上述聚合文件包含用于存储源文件的多个OBJ对象,上述OBJ对象包含多个待更新源文件;
批量写入模块22,用于当OBJ对象的剩余存储空间等于或小于预设数值时,将OBJ对象内的多个待更新源文件批量写入磁盘。
可选地,上述存储模块包括:
第一存储单元,用于将多个待更新源文件存储至第一OBJ对象;
第二存储单元,用于当多个待更新源文件大于第一OBJ对象的存储容量时,将超出第一OBJ对象的存储容量的待更新源文件存储至第二OBJ对象。
可选地,上述批量写入模块包括:
批量写入单元,用于当OBJ对象的剩余存储空间等于或小于存储空间的十分之一时,将OBJ对象内的多个待更新源文件批量写入磁盘。
本发明实施例所提供的小文件更新装置,通过将多个待更新源文件存储至聚合文件,聚合文件包含用于存储源文件的多个OBJ对象,OBJ对象包含多个所述待更新源文件;当OBJ对象的剩余存储空间等于或小于预设数值时,将OBJ对象内的多个待更新源文件批量写入磁盘。该装置将多个待更新源文件存储到同一个OBJ对象,提高了磁盘的使用率;当OBJ对象内所存储的待更新源文件大小达到预期条件时,将OBJ对象内存储的多个待更新源文件批量写入磁盘,这样可以减少写入磁盘的次数,减轻磁盘的压力,进而使得文件写性能较高。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本发明所提供的小文件更新的方法及装置进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (6)
1.一种小文件更新的方法,其特征在于,包括:
将多个待更新源文件存储至聚合文件,所述聚合文件包含用于存储源文件的多个OBJ对象,所述OBJ对象包含多个所述待更新源文件;
当所述OBJ对象的剩余存储空间等于或小于预设数值时,将所述OBJ对象内的多个所述待更新源文件批量写入磁盘。
2.如权利要求1所述的方法,其特征在于,所述将多个待更新源文件存储至聚合文件包括:
将所述多个所述待更新源文件存储至第一OBJ对象;
当多个所述待更新源文件大于所述第一OBJ对象的存储容量时,将超出所述第一OBJ对象的存储容量的所述待更新源文件存储至第二OBJ对象。
3.如权利要求2所述的方法,其特征在于,所述当所述OBJ对象的剩余存储空间等于或小于预设数值时,将所述OBJ对象内的多个所述待更新源文件批量写入磁盘包括:
当所述OBJ对象的所述剩余存储空间等于或小于存储空间的十分之一时,将所述OBJ对象内的多个所述待更新源文件批量写入磁盘。
4.一种小文件更新的装置,其特征在于,包括:
存储模块,用于将多个待更新源文件存储至聚合文件,所述聚合文件包含用于存储源文件的多个OBJ对象,所述OBJ对象包含多个所述待更新源文件;
批量写入模块,用于当所述OBJ对象的剩余存储空间等于或小于预设数值时,将所述OBJ对象内的多个所述待更新源文件批量写入磁盘。
5.如权利要求4所述的装置,其特征在于,所述存储模块包括:
第一存储单元,用于将所述多个所述待更新源文件存储至第一OBJ对象;
第二存储单元,用于当多个所述待更新源文件大于所述第一OBJ对象的存储容量时,将超出所述第一OBJ对象的存储容量的所述待更新源文件存储至第二OBJ对象。
6.如权利要求5所述的装置,其特征在于,所述批量写入模块包括:
批量写入单元,用于当所述OBJ对象的所述剩余存储空间等于或小于存储空间的十分之一时,将所述OBJ对象内的多个所述待更新源文件批量写入磁盘。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710352054.8A CN107193492A (zh) | 2017-05-18 | 2017-05-18 | 一种小文件更新的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710352054.8A CN107193492A (zh) | 2017-05-18 | 2017-05-18 | 一种小文件更新的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107193492A true CN107193492A (zh) | 2017-09-22 |
Family
ID=59875268
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710352054.8A Pending CN107193492A (zh) | 2017-05-18 | 2017-05-18 | 一种小文件更新的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107193492A (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060200470A1 (en) * | 2005-03-03 | 2006-09-07 | Z-Force Communications, Inc. | System and method for managing small-size files in an aggregated file system |
CN101101563A (zh) * | 2007-07-23 | 2008-01-09 | 清华大学 | 基于海量数据分级存储系统的迁移管理方法 |
CN101742068A (zh) * | 2009-12-22 | 2010-06-16 | 上海全景数字技术有限公司 | 终端界面下载更新方法 |
CN103176754A (zh) * | 2013-04-02 | 2013-06-26 | 浪潮电子信息产业股份有限公司 | 一种海量小文件读取存储方法 |
CN103646021A (zh) * | 2012-05-25 | 2014-03-19 | 邻客音公司 | 批量计算的活动流更新 |
CN103841135A (zh) * | 2012-11-22 | 2014-06-04 | 腾讯科技(深圳)有限公司 | 文件加速下载方法及装置 |
CN103914399A (zh) * | 2012-12-31 | 2014-07-09 | 中国移动通信集团公司 | 一种并行计算系统中的磁盘缓存方法及装置 |
CN104375782A (zh) * | 2014-10-21 | 2015-02-25 | 浪潮电子信息产业股份有限公司 | 千万级小文件数据的一种读写解决方法 |
CN106528866A (zh) * | 2016-12-02 | 2017-03-22 | 郑州云海信息技术有限公司 | 一种更新元数据的方法、装置和系统 |
-
2017
- 2017-05-18 CN CN201710352054.8A patent/CN107193492A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060200470A1 (en) * | 2005-03-03 | 2006-09-07 | Z-Force Communications, Inc. | System and method for managing small-size files in an aggregated file system |
CN101101563A (zh) * | 2007-07-23 | 2008-01-09 | 清华大学 | 基于海量数据分级存储系统的迁移管理方法 |
CN101742068A (zh) * | 2009-12-22 | 2010-06-16 | 上海全景数字技术有限公司 | 终端界面下载更新方法 |
CN103646021A (zh) * | 2012-05-25 | 2014-03-19 | 邻客音公司 | 批量计算的活动流更新 |
CN103841135A (zh) * | 2012-11-22 | 2014-06-04 | 腾讯科技(深圳)有限公司 | 文件加速下载方法及装置 |
CN103914399A (zh) * | 2012-12-31 | 2014-07-09 | 中国移动通信集团公司 | 一种并行计算系统中的磁盘缓存方法及装置 |
CN103176754A (zh) * | 2013-04-02 | 2013-06-26 | 浪潮电子信息产业股份有限公司 | 一种海量小文件读取存储方法 |
CN104375782A (zh) * | 2014-10-21 | 2015-02-25 | 浪潮电子信息产业股份有限公司 | 千万级小文件数据的一种读写解决方法 |
CN106528866A (zh) * | 2016-12-02 | 2017-03-22 | 郑州云海信息技术有限公司 | 一种更新元数据的方法、装置和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10359954B2 (en) | Method and system for implementing byte-alterable write cache | |
CN103838853B (zh) | 一种基于不同存储介质的混合文件系统 | |
US20160140054A1 (en) | Method and system for determining fifo cache size | |
CN108897642A (zh) | 持久性事务内存系统中日志机制的优化方法及装置 | |
TWI570559B (zh) | 快閃記憶體及其存取方法 | |
CN106354658B (zh) | 一种降低混合映射算法中映射表内存资源占用的方法 | |
CN106354890B (zh) | 一种基于N-ary树结构的随机访问的文件系统的实现方法 | |
CN108733324A (zh) | 一种固态硬盘的数据读写方法、装置、设备及存储介质 | |
CN105393228A (zh) | 读写闪存中数据的方法、装置及用户设备 | |
CN107273056A (zh) | 一种Ceph文件系统的数据存储方法及装置 | |
CN110399096A (zh) | 分布式文件系统元数据缓存重删的方法、装置以及设备 | |
CN109086462A (zh) | 一种分布式文件系统中元数据的管理方法 | |
CN109213450A (zh) | 一种基于闪存阵列的关联元数据删除方法、装置及设备 | |
CN107632781A (zh) | 一种分布式存储多副本快速校验一致性的方法及存储架构 | |
CN107506466A (zh) | 一种小文件存储方法及系统 | |
CN104408126B (zh) | 一种数据库的持久化写入方法、装置和系统 | |
CN108762989A (zh) | 固态硬盘的数据存储方法、装置、设备及可读存储介质 | |
CN101848150B (zh) | 维护多播计数器的计数值的方法及装置 | |
CN102520879B (zh) | 基于优先级的文件信息存储方法、装置及系统 | |
CN108762670A (zh) | 一种ssd固件中数据块的管理方法、系统及装置 | |
CN102521157B (zh) | 一种在fpga上实现板载存储资源管理的系统和方法 | |
CN107193492A (zh) | 一种小文件更新的方法及装置 | |
CN109597587A (zh) | 一种数据写入方法、介质及非易失性内存 | |
CN109582239A (zh) | 一种ssd坏块表的保存方法、装置、设备以及存储介质 | |
TWI635391B (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: 20170922 |