CN112597104A - 小文件性能优化方法及系统 - Google Patents
小文件性能优化方法及系统 Download PDFInfo
- Publication number
- CN112597104A CN112597104A CN202110032463.6A CN202110032463A CN112597104A CN 112597104 A CN112597104 A CN 112597104A CN 202110032463 A CN202110032463 A CN 202110032463A CN 112597104 A CN112597104 A CN 112597104A
- Authority
- CN
- China
- Prior art keywords
- small
- file
- performance
- files
- data block
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
- G06F16/134—Distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/164—File meta data generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding 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/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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种小文件性能优化方法及系统。该方法包括:将小文件的数据内容及元数据组成元数据数据库;以及通过访问元数据数据库,执行对小文件的IO操作;还包括:将多个小文件缓存,合并成一个大数据块;依据合并后的大数据块,执行小文件的IO操作。本发明提供的小文件性能优化方法及系统能够提升小文件的IO性能。
Description
技术领域
本发明涉及存储系统技术领域,特别是涉及一种小文件性能优化方法及系统。
背景技术
通常文件系统(包括本地文件系统、分布式文件系统)存储数据时分为元数据(metadata)和数据(data)。数据是文件本身的数据内容,元数据描述文件的属性(用户、ACL、创建时间等)、数据块在存储设备上的位置信息等。为了提升数据访问性能,部分文件系统的实现将元数据信息用高性能数据库管理,用来索引文件位置。我们将这个数据库称为元数据数据库。
本地文件系统和分布式文件系统都可以采用这种存储模式。这种存储模式在大量小文件读写场景下,性能不够好。
现有技术方案写一个文件时,先写数据块(文件数据内容),再写元数据(向元数据数据库插入一条记录)。参考图1。
现有技术方案读一个文件时,先从元数据数据库读取元数据,然后根据元数据描述的位置信息,从存储设备读取数据块。参考图2。
无论是大文件还是小文件,读和写都需要2次IO:一次访问存储设备,一次访问元数据数据库。对于大文件而言,2次IO完成数据访问,是可以接受的。但对于小文件,2次IO完成数据访问,显得效率比较低。
发明内容
本发明要解决的技术问题是提供一种小文件性能优化方法及系统,能够提升小文件的IO性能。
为解决上述技术问题,本发明提供了一种小文件性能优化方法,所述方法包括:将小文件的数据内容及元数据组成元数据数据库;以及通过访问元数据数据库,执行对小文件的IO操作;还包括:将多个小文件缓存,合并成一个大数据块;依据合并后的大数据块,执行小文件的IO操作。
在一些实施方式中,依据合并后的大数据块,执行小文件的IO操作,包括:在元数据数据库中增加多条记录,用于描述每个小文件在大数据块中的位置信息。
在一些实施方式中,将多个小文件缓存,合并成一个大数据块,包括:缓存文件数量到达数量上限时,将多个小文件缓存合并成一个大数据块。
在一些实施方式中,将多个小文件缓存,合并成一个大数据块,包括:文件缓存时间到达时间上限,将多个小文件缓存合并成一个大数据块。
在一些实施方式中,还包括:统计小文件的IO频度,并根据得到的IO频度动态调整存储方式。
在一些实施方式中,统计小文件的IO频度,并根据得到的IO频度动态调整存储方式,包括:根据IO频度,动态调整数量上限。
在一些实施方式中,统计小文件的IO频度,并根据得到的IO频度动态调整存储方式,包括:根据IO频度,动态调整时间上限。
在一些实施方式中,小文件性能优化方法适用于本地文件系统及分布式文件系统。
此外,本发明还提供了一种小文件性能优化系统,所述系统包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现根据前文所述的小文件性能优化方法。
采用这样的设计后,本发明至少具有以下优点:
1.设计了“直接索引存储”和“合并存储”2种存储方式,一个系统同时兼容2种存储方式。
2.设计了“存储策略决策器”,可以根据业务特点动态控制使用哪种存储方式。
3.本优化方案适用于本地文件系统和分布式文件系统。
附图说明
上述仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,以下结合附图与具体实施方式对本发明作进一步的详细说明。
图1是现有技术提供的写文件的流程示意图;
图2是现有技术提供的读文件的流程示意图;
图3是本发明实施例提供的小文件直接索引存储、合并存储的流程示意图;
图4是本发明实施例提供的存储策略决策器的决策执行流程示意图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
优化方案设计了2种小文件存储方式,参考图3:直接索引存储、合并存储。并能根据业务特点动态调整小文件存储方式,达到性能最优。
直接索引存储:是指将小文件的数据内容和元数据一起打包存放在元数据数据库。这样写小文件只需要1次IO(只需要在元数据数据库插入一条记录),读小文件也只需要1次IO(访问元数据数据库就能得到小文件的数据和元数据)。
合并存储:是指将多个小文件缓存,并合并成一个大数据块写入,并在元数据数据库中增加多条记录,用于描述每个小文件在大数据块中的位置信息。这样写时能显著减少IO次数。合并的时机有2个:1.缓存的小文件个数达到上限;2.缓存的时间太久,超过阈值。
直接索引存储与合并存储二者是两个并行的技术方案。
另外,本发明技术方案还特别设计了业务模型。在实际执行小文件存储时,可以根据业务模型动态调整存储方式。此处所谓的调整,是指在直接索引存储与合并存储的存储技术方案中选择一个。
另外设计了存储策略决策器,统计小文件写的频度,动态调整存储方式。存储策略决策器的运行过程参考图4。
参见图4,文件系统客户端可以访问存储策略决策器。存储策略决策器通过对小文件的访问频度的统计,动态调整小文件的IO存储访问方式。这种调整,典型的可以是调整是否对多个文件进行合并,以及合并的时机。这样的时机调整可以是调整数量上限,或者可以是调整时间上限。
例如,所述小文件性能优化系统可以用于充当计算机系统中的小文件IO执行装置。如本文所述,小文件性能优化系统可以用于在计算机系统中实现对小文件的IO访问功能。小文件性能优化系统可以在单个节点中实现,或者小文件性能优化系统的功能可以在网络中的多个节点中实现。本领域的技术人员应意识到,术语小文件性能优化系统包括广泛意义上的设备,小文件性能优化系统仅是其中一个示例。包括小文件性能优化系统是为了表述清楚,并不旨在将本发明的应用限制为特定的小文件性能优化系统实施例或某一类小文件性能优化系统实施例。本发明所述的至少部分特征/方法可以在网络装置或组件,例如,小文件性能优化系统中实现。例如,本发明中的特征/方法可以采用硬件、固件和/或在硬件上安装运行的软件实现。小文件性能优化系统可以是任何通过网络处理,存储和/或转发数据帧的设备,例如,服务器,客户端,数据源等。小文件性能优化系统可以包括收发器(Tx/Rx),其可以是发射器,接收器,或其组合。Tx/Rx可以耦合到多个端口(例如上行接口和/或下行接口),用于从其他节点发送和/或接收帧。处理器可耦合至Tx/Rx,以处理帧和/或确定向哪些节点发送帧。处理器可以包括一个或多个多核处理器和/或存储器设备,其可以用作数据存储器,缓冲区等。处理器可以被实现为通用处理器,或者可以是一个或多个专用集成电路(applicationspecificintegratedcircuit,简称ASIC)和/或数字信号处理器(digitalsignalprocessor,简称DSP)的一部分。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,本领域技术人员利用上述揭示的技术内容做出些许简单修改、等同变化或修饰,均落在本发明的保护范围内。
Claims (9)
1.一种小文件性能优化方法,其特征在于,包括:
将小文件的数据内容及元数据组成元数据数据库;以及
通过访问元数据数据库,执行对小文件的IO操作;
还包括:
将多个小文件缓存,合并成一个大数据块;
依据合并后的大数据块,执行小文件的IO操作。
2.根据权利要求1所述的小文件性能优化方法,其特征在于,依据合并后的大数据块,执行小文件的IO操作,包括:
在元数据数据库中增加多条记录,用于描述每个小文件在大数据块中的位置信息。
3.根据权利要求1所述的小文件性能优化方法,其特征在于,将多个小文件缓存,合并成一个大数据块,包括:
缓存文件数量到达数量上限时,将多个小文件缓存合并成一个大数据块。
4.根据权利要求1所述的小文件性能优化方法,其特征在于,将多个小文件缓存,合并成一个大数据块,包括:
文件缓存时间到达时间上限,将多个小文件缓存合并成一个大数据块。
5.根据权利要求1所述的小文件性能优化方法,其特征在于,还包括:
统计小文件的IO频度,并根据得到的IO频度动态调整存储方式。
6.根据权利要求3或5所述的小文件性能优化方法,其特征在于,统计小文件的IO频度,并根据得到的IO频度动态调整存储方式,包括:
根据IO频度,动态调整数量上限。
7.根据权利要求4或5所述的小文件性能优化方法,其特征在于,统计小文件的IO频度,并根据得到的IO频度动态调整存储方式,包括:
根据IO频度,动态调整时间上限。
8.根据权利要求1所述的小文件性能优化方法,其特征在于,小文件性能优化方法适用于本地文件系统及分布式文件系统。
9.一种小文件性能优化系统,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现根据权利要求1至8任意一项所述的小文件性能优化方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110032463.6A CN112597104B (zh) | 2021-01-11 | 2021-01-11 | 小文件性能优化方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110032463.6A CN112597104B (zh) | 2021-01-11 | 2021-01-11 | 小文件性能优化方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112597104A true CN112597104A (zh) | 2021-04-02 |
CN112597104B CN112597104B (zh) | 2023-07-04 |
Family
ID=75207986
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110032463.6A Active CN112597104B (zh) | 2021-01-11 | 2021-01-11 | 小文件性能优化方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112597104B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113792074A (zh) * | 2021-08-11 | 2021-12-14 | 厦门天锐科技股份有限公司 | 一种数据处理方法及装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101854388A (zh) * | 2010-05-17 | 2010-10-06 | 浪潮(北京)电子信息产业有限公司 | 一种集群存储中并行访问大量小文件的方法及系统 |
CN102096556A (zh) * | 2010-12-03 | 2011-06-15 | 成都市华为赛门铁克科技有限公司 | 拷贝数据的方法、读取数据的方法和装置及系统 |
CN104133882A (zh) * | 2014-07-28 | 2014-11-05 | 四川大学 | 一种基于hdfs的小文件处理方法 |
US8972465B1 (en) * | 2013-03-15 | 2015-03-03 | Emc Corporation | Burst buffer appliance with small file aggregation |
CN105183839A (zh) * | 2015-09-02 | 2015-12-23 | 华中科技大学 | 一种基于Hadoop的小文件分级索引的存储优化方法 |
US20200012619A1 (en) * | 2018-07-03 | 2020-01-09 | Cohesity, Inc. | Using a storage system to optimize and maintain the metadata associated with a plurality of small files |
CN111208946A (zh) * | 2020-01-06 | 2020-05-29 | 北京同有飞骥科技股份有限公司 | 支持kb级别小文件并发io的数据持久化方法及系统 |
CN112148681A (zh) * | 2020-10-15 | 2020-12-29 | 南京邮电大学 | 一种基于分布式文件系统hdfs的小文件存取优化方法 |
-
2021
- 2021-01-11 CN CN202110032463.6A patent/CN112597104B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101854388A (zh) * | 2010-05-17 | 2010-10-06 | 浪潮(北京)电子信息产业有限公司 | 一种集群存储中并行访问大量小文件的方法及系统 |
CN102096556A (zh) * | 2010-12-03 | 2011-06-15 | 成都市华为赛门铁克科技有限公司 | 拷贝数据的方法、读取数据的方法和装置及系统 |
US8972465B1 (en) * | 2013-03-15 | 2015-03-03 | Emc Corporation | Burst buffer appliance with small file aggregation |
CN104133882A (zh) * | 2014-07-28 | 2014-11-05 | 四川大学 | 一种基于hdfs的小文件处理方法 |
CN105183839A (zh) * | 2015-09-02 | 2015-12-23 | 华中科技大学 | 一种基于Hadoop的小文件分级索引的存储优化方法 |
US20200012619A1 (en) * | 2018-07-03 | 2020-01-09 | Cohesity, Inc. | Using a storage system to optimize and maintain the metadata associated with a plurality of small files |
CN111208946A (zh) * | 2020-01-06 | 2020-05-29 | 北京同有飞骥科技股份有限公司 | 支持kb级别小文件并发io的数据持久化方法及系统 |
CN112148681A (zh) * | 2020-10-15 | 2020-12-29 | 南京邮电大学 | 一种基于分布式文件系统hdfs的小文件存取优化方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113792074A (zh) * | 2021-08-11 | 2021-12-14 | 厦门天锐科技股份有限公司 | 一种数据处理方法及装置 |
CN113792074B (zh) * | 2021-08-11 | 2024-02-06 | 厦门天锐科技股份有限公司 | 一种数据处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112597104B (zh) | 2023-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10133679B2 (en) | Read cache management method and apparatus based on solid state drive | |
US9830101B2 (en) | Managing data storage in a set of storage systems using usage counters | |
TW201140430A (en) | Allocating storage memory based on future use estimates | |
CN106649145B (zh) | 一种自适应更新缓存策略的方法及系统 | |
US11899580B2 (en) | Cache space management method and apparatus | |
US20160085680A1 (en) | Mobile Memory Cache Read Optimization | |
CN110287160B (zh) | 一种缓存空间清理方法及装置 | |
CN109005056A (zh) | 基于cdn应用的存储容量评估方法和装置 | |
CN102317926A (zh) | 将高速存储装置作为缓存使用的存储系统 | |
US20130166845A1 (en) | Method and device for recovering description information, and method and device for caching data in database | |
CN108089825B (zh) | 一种基于分布式集群的存储系统 | |
US20220164316A1 (en) | Deduplication method and apparatus | |
US10585642B2 (en) | System and method for managing data in a ring buffer | |
CN112597104B (zh) | 小文件性能优化方法及系统 | |
CN113687781A (zh) | 一种热数据的上拉方法、装置、设备及介质 | |
US20190007167A1 (en) | Methods for reducing data errors in transceiving of a flash storage interface and apparatuses using the same | |
US8751750B2 (en) | Cache device, data management method, program, and cache system | |
CN110232029A (zh) | 一种基于索引的fpga中ddr4包缓存的实现方法 | |
CN112463073A (zh) | 一种对象存储分布式配额方法、系统、设备和存储介质 | |
CN111208946A (zh) | 支持kb级别小文件并发io的数据持久化方法及系统 | |
WO2017031637A1 (zh) | 一种内存访问方法、装置和系统 | |
CN111859225B (zh) | 程序文件的访问方法、装置、计算设备和介质 | |
CN106331001B (zh) | 一种适合移动设备访问的云存储方法和系统 | |
KR20170122151A (ko) | 동적인 알고리즘 변경을 통하여 쿼리 처리 시간을 축소시키기 위한 방법, 장치 및 컴퓨터-판독가능 매체 | |
CN113596506B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |