支持KB级别小文件并发IO的数据持久化方法及系统技术方案

技术编号:24330492 阅读:26 留言:0更新日期:2020-05-29 19:26
本发明专利技术提供了一种支持KB级别小文件并发IO的数据持久化方法及系统。所述方法包括:将需要持久化的小文件以追加的方式写入至日志盘;读取日志盘中新追加的小文件至数据盘;将新追加的小文件,以固定字节数为单元,异步的写入至存储集群中;将已经写入至存储集群中的小文件在日志盘中标记为失效。本发明专利技术提供的支持KB级别小文件并发IO的数据持久化方法及系统能够明显提升分布式系统中并发IO的性能。

Data persistence method and system supporting KB level small file concurrent IO

【技术实现步骤摘要】
支持KB级别小文件并发IO的数据持久化方法及系统
本专利技术涉及分布式计算
,特别是涉及一种支持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的数据持久化方法的执行过程如下:选定一块日志盘(jouranldisks),Journaldisk两个指针,一个记到当前写的位置,一个记到已经失效的位置。小文件写时,将数据以512byte为单位Append(在末尾顺序附加写)的方式直接写到jouranldisks,落盘就可以返回。此时数据已经落盘已经快速持久化。另有一个Memtable模块去读jouranldisk里的数据,拼成4M的数据,indexcache是元数据,拼成4M,ledgerdisks是实际数据,因此,ledgerdisks也被称为数据盘。实际数据也拼成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可以包括一个或多个多核处理本文档来自技高网...

【技术保护点】
1.一种支持KB级别小文件并发IO的数据持久化方法,其特征在于,包括:/n将需要持久化的小文件以追加的方式写入至日志盘;/n读取日志盘中新追加的小文件至数据盘;/n将新追加的小文件,以固定字节数为单元,异步的写入至存储集群中;/n将已经写入至存储集群中的小文件在日志盘中标记为失效。/n

【技术特征摘要】
1.一种支持KB级别小文件并发IO的数据持久化方法,其特征在于,包括:
将需要持久化的小文件以追加的方式写入至日志盘;
读取日志盘中新追加的小文件至数据盘;
将新追加的小文件,以固定字节数为单元,异步的写入至存储集群中;
将已经写入至存储集群中的小文件在日志盘中标记为失效。


2.根据权利要求1所述的支持KB级别小文件并发IO的数据持久化方法,其特征在于,需要持久化的小文件包括:KB级别的小文件。


3.根据权利要求1所述的支持KB级别小文件并发IO的数据持久化方法,其特征在于,将需要持久化的小文件以追加的方式写入至日志盘,包括:
利用追加指针标记日志盘中已写入数据的末尾,以完成以追加方式的写入。


4.根据权利要求1所述的支持KB级别小文件并发IO的数据持久化方法,其特征在于,将已经写入至存储集群中的小文件在日志盘中标记为失效,包括:
利用失效指针标记已失效数据的末尾,以完成对数据的失效标记。


5.根据权利要求1所述的支持KB级别小文件并发IO的数据持久化方法,其特征在于,读取日志盘中新追加的小文件至数据盘,包括:
通...

【专利技术属性】
技术研发人员:尹微胡晓鹏周泽湘罗华仇悦文中领
申请(专利权)人:北京同有飞骥科技股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1