CN111208946A - 支持kb级别小文件并发io的数据持久化方法及系统 - Google Patents
支持kb级别小文件并发io的数据持久化方法及系统 Download PDFInfo
- Publication number
- CN111208946A CN111208946A CN202010008638.5A CN202010008638A CN111208946A CN 111208946 A CN111208946 A CN 111208946A CN 202010008638 A CN202010008638 A CN 202010008638A CN 111208946 A CN111208946 A CN 111208946A
- Authority
- CN
- China
- Prior art keywords
- data
- disk
- writing
- small
- data persistence
- 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
- 230000002688 persistence Effects 0.000 title claims abstract description 42
- 238000000034 method Methods 0.000 title claims abstract description 26
- 238000012545 processing Methods 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
Images
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/0614—Improving the reliability of 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
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
本发明提供了一种支持KB级别小文件并发IO的数据持久化方法及系统。所述方法包括:将需要持久化的小文件以追加的方式写入至日志盘;读取日志盘中新追加的小文件至数据盘;将新追加的小文件,以固定字节数为单元,异步的写入至存储集群中;将已经写入至存储集群中的小文件在日志盘中标记为失效。本发明提供的支持KB级别小文件并发IO的数据持久化方法及系统能够明显提升分布式系统中并发IO的性能。
Description
技术领域
本发明涉及分布式计算技术领域,特别是涉及一种支持KB级别小文件并发IO的数据持久化方法及系统。
背景技术
在许多应用场景中有海量小文件持续写的需求,如视频监控中的实时图像目标识别处理数据、网监和舆情监控中的实时文本语音分析数据等。然而在存储系统中海量小文件离散随机写性能受磁盘磁头反复寻址和现存文件系统架构的影响,一直存在优化空间。现有的存储系统要么不支持2-10KB小文件的高并发写处理,要么不能快速数据持久化。
现有的小文件存储,要么是直接写到磁盘,利用SSD硬盘等高速存储介质,数据快速持久化,但是并发效率不高。要么是先写缓存中,进行数据合并再写到磁盘,那先到的数据又不能快速的落盘持久化。
现有的技术,直接写盘快速持久化过分依赖于高速存储介质,高速存储介质成本高,直接写盘并发效率不高。写到缓存中,对缓存的大小要求、缓存的维护又是一笔资源的开销,在缓存中没有快速持久化,出现死机掉电等异常情况,需考虑到缓存的处理方法。
发明内容
本发明要解决的技术问题是提供一种支持KB级别小文件并发IO的数据持久化方法及系统,能够明显提升分布式系统中并发IO的性能。
为解决上述技术问题,本发明提供了一种支持KB级别小文件并发IO的数据持久化方法,所述方法包括:将需要持久化的小文件以追加的方式写入至日志盘;读取日志盘中新追加的小文件至数据盘;将新追加的小文件,以固定字节数为单元,异步的写入至存储集群中;将已经写入至存储集群中的小文件在日志盘中标记为失效。
在一些实施方式中,需要持久化的小文件包括:KB级别的小文件。
在一些实施方式中,将需要持久化的小文件以追加的方式写入至日志盘,包括:利用追加指针标记日志盘中已写入数据的末尾,以完成以追加方式的写入。
在一些实施方式中,将已经写入至存储集群中的小文件在日志盘中标记为失效,包括:利用失效指针标记已失效数据的末尾,以完成对数据的失效标记。
在一些实施方式中,读取日志盘中新追加的小文件至数据盘,包括:通过Memtable模块,读取日志盘中新追加的小文件至数据盘。
在一些实施方式中,还包括:将元数据以固定字节数为单元,异步的写入至元数据盘。
在一些实施方式中,将元数据以固定字节数为单元,异步的写入至元数据盘,包括:将元数据写入至元数据缓存;根据元数据缓存中的元数据,执行对元数据盘的写入。
在一些实施方式中,将新追加的小文件,以固定字节数为单元,异步的写入至存储集群中,包括:以固定字节数为单元,根据条目日志的内容,将新追加的小文件异步的写入至存储集群。
此外,本发明还提供了一种支持KB级别小文件并发IO的数据持久化系统,所述系统包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现根据前文所述的支持KB级别小文件并发IO的数据持久化方法。
采用这样的设计后,本发明至少具有以下优点:
由于小文件先顺序写到日志盘比随机写磁盘快,而且写到日志盘就已经持久化,返回给用户时数据已经写好了,后续进行的数据归置处理是异步的用户感知不到,并且不影响用户的数据读写,因而能够大大提升分布式存储系统的IO性能。
附图说明
上述仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,以下结合附图与具体实施方式对本发明作进一步的详细说明。
图1是本发明实施例提供的支持KB级别小文件并发IO的数据持久化方法的流程示意图;
图2是本发明实施例提供的支持KB级别小文件并发IO的数据持久化系统的结构示意图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
本发明实施例提供的支持KB级别小文件并发IO的数据持久化方法包括如下步骤:将需要持久化的数据以追加的方式写入至日志盘;读取日志盘中新追加的数据至数据盘;将新追加的数据,以固定字节数为单元,异步的写入至存储集群中;将已经写入至存储集群中的数据标记为失效。
性能提升的原因是小文件先顺序写到日志盘比随机写磁盘快,写到日志盘就已经持久化,返回给用户已经写好了。后续进行的数据归置处理是异步的用户感知不到并且不影响用户的数据读写。
图1示出了支持KB级别小文件并发IO的数据持久化方法的流程示意图。参见图1,支持KB级别小文件并发IO的数据持久化方法的执行过程如下:
选定一块日志盘(jouranl disks),Journal disk两个指针,一个记到当前写的位置,一个记到已经失效的位置。
小文件写时,将数据以512byte为单位Append(在末尾顺序附加写)的方式直接写到jouranl disks,落盘就可以返回。此时数据已经落盘已经快速持久化。
另有一个Memtable模块去读jouranl disk里的数据,拼成4M的数据,index cache是元数据,拼成4M,ledger disks是实际数据,因此,ledger disks也被称为数据盘。实际数据也拼成4M,写到集群里面。一个小文件只有当元数据和数据都落盘了才可以去jourcaldisks里去标记为失效,失效指针前移。
图2示出了支持KB级别小文件并发IO的数据持久化系统的典型结构。例如,所述支持KB级别小文件并发IO的数据持久化系统200可以用于充当存储设备等的存储设备。如本文所述,支持KB级别小文件并发IO的数据持久化系统200可以用于在存储系统在线时提升数据持久化的性能。支持KB级别小文件并发IO的数据持久化系统200可以在单个节点中实现,或者支持KB级别小文件并发IO的数据持久化系统200的功能可以在网络中的多个节点中实现。本领域的技术人员应意识到,术语支持KB级别小文件并发IO的数据持久化系统包括广泛意义上的设备,图2中示出的支持KB级别小文件并发IO的数据持久化系统200仅是其中一个示例。包括支持KB级别小文件并发IO的数据持久化系统200是为了表述清楚,并不旨在将本发明的应用限制为特定的支持KB级别小文件并发IO的数据持久化系统实施例或某一类支持KB级别小文件并发IO的数据持久化系统实施例。本发明所述的至少部分特征/方法可以在网络装置或组件,例如,支持KB级别小文件并发IO的数据持久化系统200,中实现。例如,本发明中的特征/方法可以采用硬件、固件和/或在硬件上安装运行的软件实现。支持KB级别小文件并发IO的数据持久化系统200可以是任何通过网络处理,存储和/或转发数据帧的设备,例如,服务器,客户端,数据源等。如图2所示,支持KB级别小文件并发IO的数据持久化系统200可以包括收发器(Tx/Rx)210,其可以是发射器,接收器,或其组合。Tx/Rx210可以耦合到多个端口250(例如上行接口和/或下行接口),用于从其他节点发送和/或接收帧。处理器230可耦合至Tx/Rx210,以处理帧和/或确定向哪些节点发送帧。处理器230可以包括一个或多个多核处理器和/或存储器设备232,其可以用作数据存储器,缓冲区等。处理器230可以被实现为通用处理器,或者可以是一个或多个专用集成电路(applicationspecific integrated circuit,简称ASIC)和/或数字信号处理器(digital signalprocessor,简称DSP)的一部分。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,本领域技术人员利用上述揭示的技术内容做出些许简单修改、等同变化或修饰,均落在本发明的保护范围内。
Claims (9)
1.一种支持KB级别小文件并发IO的数据持久化方法,其特征在于,包括:
将需要持久化的小文件以追加的方式写入至日志盘;
读取日志盘中新追加的小文件至数据盘;
将新追加的小文件,以固定字节数为单元,异步的写入至存储集群中;
将已经写入至存储集群中的小文件在日志盘中标记为失效。
2.根据权利要求1所述的支持KB级别小文件并发IO的数据持久化方法,其特征在于,需要持久化的小文件包括:KB级别的小文件。
3.根据权利要求1所述的支持KB级别小文件并发IO的数据持久化方法,其特征在于,将需要持久化的小文件以追加的方式写入至日志盘,包括:
利用追加指针标记日志盘中已写入数据的末尾,以完成以追加方式的写入。
4.根据权利要求1所述的支持KB级别小文件并发IO的数据持久化方法,其特征在于,将已经写入至存储集群中的小文件在日志盘中标记为失效,包括:
利用失效指针标记已失效数据的末尾,以完成对数据的失效标记。
5.根据权利要求1所述的支持KB级别小文件并发IO的数据持久化方法,其特征在于,读取日志盘中新追加的小文件至数据盘,包括:
通过Memtable模块,读取日志盘中新追加的小文件至数据盘。
6.根据权利要求1所述的支持KB级别小文件并发IO的数据持久化方法,其特征在于,还包括:
将元数据以固定字节数为单元,异步的写入至元数据盘。
7.根据权利要求6所述的支持KB级别小文件并发IO的数据持久化方法,其特征在于,将元数据以固定字节数为单元,异步的写入至元数据盘,包括:
将元数据写入至元数据缓存;
根据元数据缓存中的元数据,执行对元数据盘的写入。
8.根据权利要求1所述的支持KB级别小文件并发IO的数据持久化方法,其特征在于,将新追加的小文件,以固定字节数为单元,异步的写入至存储集群中,包括:
以固定字节数为单元,根据条目日志的内容,将新追加的小文件异步的写入至存储集群。
9.一种支持KB级别小文件并发IO的数据持久化系统,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现根据权利要求1至8任意一项所述的支持KB级别小文件并发IO的数据持久化方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010008638.5A CN111208946A (zh) | 2020-01-06 | 2020-01-06 | 支持kb级别小文件并发io的数据持久化方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010008638.5A CN111208946A (zh) | 2020-01-06 | 2020-01-06 | 支持kb级别小文件并发io的数据持久化方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111208946A true CN111208946A (zh) | 2020-05-29 |
Family
ID=70785622
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010008638.5A Pending CN111208946A (zh) | 2020-01-06 | 2020-01-06 | 支持kb级别小文件并发io的数据持久化方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111208946A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112130770A (zh) * | 2020-09-18 | 2020-12-25 | 苏州浪潮智能科技有限公司 | 一种维护数据的保存方法、系统、设备以及介质 |
CN112597104A (zh) * | 2021-01-11 | 2021-04-02 | 武汉飞骥永泰科技有限公司 | 小文件性能优化方法及系统 |
CN117632016A (zh) * | 2023-11-28 | 2024-03-01 | 天翼云科技有限公司 | 一种分布式存储异步数据压缩方法 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103607476A (zh) * | 2013-12-05 | 2014-02-26 | 上海普坤信息科技有限公司 | 海量消息的分布式多阶段持久化的系统及方法 |
US20160004718A1 (en) * | 2014-07-02 | 2016-01-07 | Panzura, Inc. | Using byte-range locks to manage multiple concurrent accesses to a file in a distributed filesystem |
CN106255953A (zh) * | 2013-11-19 | 2016-12-21 | 桑迪士克科技有限责任公司 | 持久性数据存储体中的前向参考记录的方法和系统 |
US20160371291A1 (en) * | 2015-06-16 | 2016-12-22 | Microsoft Corporation | File storage system including tiers |
CN106528876A (zh) * | 2016-12-09 | 2017-03-22 | 北京奇虎科技有限公司 | 分布式系统的信息处理方法及分布式信息处理系统 |
CN106682227A (zh) * | 2017-01-06 | 2017-05-17 | 郑州云海信息技术有限公司 | 基于分布式文件系统的日志数据存储系统及读写方法 |
CN106843770A (zh) * | 2017-01-23 | 2017-06-13 | 北京思特奇信息技术股份有限公司 | 一种分布式文件系统中小文件数据存储、读取方法及装置 |
CN107967124A (zh) * | 2017-12-14 | 2018-04-27 | 南京云创大数据科技股份有限公司 | 一种分布式持久性内存存储系统及方法 |
CN108108476A (zh) * | 2018-01-03 | 2018-06-01 | 中科边缘智慧信息科技(苏州)有限公司 | 高可靠分布式日志系统的工作方法 |
CN108427537A (zh) * | 2018-01-12 | 2018-08-21 | 上海凯翔信息科技有限公司 | 分布式存储系统及其文件写入优化方法、客户端处理方法 |
CN108984686A (zh) * | 2018-07-02 | 2018-12-11 | 中国电子科技集团公司第五十二研究所 | 一种基于日志合并的分布式文件系统索引方法和装置 |
CN110019105A (zh) * | 2019-01-24 | 2019-07-16 | 江苏中云科技有限公司 | 一种可靠高效的分布式文件系统 |
-
2020
- 2020-01-06 CN CN202010008638.5A patent/CN111208946A/zh active Pending
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106255953A (zh) * | 2013-11-19 | 2016-12-21 | 桑迪士克科技有限责任公司 | 持久性数据存储体中的前向参考记录的方法和系统 |
CN103607476A (zh) * | 2013-12-05 | 2014-02-26 | 上海普坤信息科技有限公司 | 海量消息的分布式多阶段持久化的系统及方法 |
US20160004718A1 (en) * | 2014-07-02 | 2016-01-07 | Panzura, Inc. | Using byte-range locks to manage multiple concurrent accesses to a file in a distributed filesystem |
US20160371291A1 (en) * | 2015-06-16 | 2016-12-22 | Microsoft Corporation | File storage system including tiers |
CN106528876A (zh) * | 2016-12-09 | 2017-03-22 | 北京奇虎科技有限公司 | 分布式系统的信息处理方法及分布式信息处理系统 |
CN106682227A (zh) * | 2017-01-06 | 2017-05-17 | 郑州云海信息技术有限公司 | 基于分布式文件系统的日志数据存储系统及读写方法 |
CN106843770A (zh) * | 2017-01-23 | 2017-06-13 | 北京思特奇信息技术股份有限公司 | 一种分布式文件系统中小文件数据存储、读取方法及装置 |
CN107967124A (zh) * | 2017-12-14 | 2018-04-27 | 南京云创大数据科技股份有限公司 | 一种分布式持久性内存存储系统及方法 |
CN108108476A (zh) * | 2018-01-03 | 2018-06-01 | 中科边缘智慧信息科技(苏州)有限公司 | 高可靠分布式日志系统的工作方法 |
CN108427537A (zh) * | 2018-01-12 | 2018-08-21 | 上海凯翔信息科技有限公司 | 分布式存储系统及其文件写入优化方法、客户端处理方法 |
CN108984686A (zh) * | 2018-07-02 | 2018-12-11 | 中国电子科技集团公司第五十二研究所 | 一种基于日志合并的分布式文件系统索引方法和装置 |
CN110019105A (zh) * | 2019-01-24 | 2019-07-16 | 江苏中云科技有限公司 | 一种可靠高效的分布式文件系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112130770A (zh) * | 2020-09-18 | 2020-12-25 | 苏州浪潮智能科技有限公司 | 一种维护数据的保存方法、系统、设备以及介质 |
CN112130770B (zh) * | 2020-09-18 | 2023-01-06 | 苏州浪潮智能科技有限公司 | 一种维护数据的保存方法、系统、设备以及介质 |
CN112597104A (zh) * | 2021-01-11 | 2021-04-02 | 武汉飞骥永泰科技有限公司 | 小文件性能优化方法及系统 |
CN117632016A (zh) * | 2023-11-28 | 2024-03-01 | 天翼云科技有限公司 | 一种分布式存储异步数据压缩方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8195619B2 (en) | Extent reference count update system and method | |
CN111208946A (zh) | 支持kb级别小文件并发io的数据持久化方法及系统 | |
CN108459826B (zh) | 一种处理io请求的方法及装置 | |
US9342411B2 (en) | Reducing memory overhead of highly available, distributed, in-memory key-value caches | |
US10649905B2 (en) | Method and apparatus for storing data | |
CN112486403A (zh) | 管理存储对象的元数据的方法、装置和计算机程序产品 | |
CN104267912A (zh) | 一种nas加速方法及系统 | |
US10630802B2 (en) | Read caching in PPRC environments | |
US20210133103A1 (en) | Data caching method and apparatus | |
CN111324665A (zh) | 一种日志回放方法及装置 | |
CN111124270A (zh) | 缓存管理的方法、设备和计算机程序产品 | |
US11012955B2 (en) | Synchronization of host and client log timestamps | |
CN112346647A (zh) | 数据存储方法、装置、设备和介质 | |
CN107368435B (zh) | 一种精简目录及利用该精简目录实现Cache一致性监听的方法 | |
CN109347899B (zh) | 在分布式存储系统中写入日志数据的方法 | |
CN112214178B (zh) | 一种存储系统、数据读取方法及数据写入方法 | |
CN113672572A (zh) | 一种嵌入式linux系统syslog的日志存储方法 | |
US11520818B2 (en) | Method, apparatus and computer program product for managing metadata of storage object | |
CN104850548B (zh) | 一种实现大数据平台输入/输出处理的方法及系统 | |
US10949359B2 (en) | Optimizing cache performance with probabilistic model | |
US20110191540A1 (en) | Processing read and write requests in a storage controller | |
CN112181737B (zh) | 消息处理方法、装置、电子设备及介质 | |
CN114327248A (zh) | 存储节点、存储设备及网络芯片 | |
US10268418B1 (en) | Accessing multiple data snapshots via one access point | |
CN112445413A (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: 20200529 |