一种数据下刷的方法、系统、设备和存储介质技术方案

技术编号:32165786 阅读:24 留言:0更新日期:2022-02-08 15:20
本发明专利技术提供一种数据下刷的方法、系统、设备和存储介质,方法包括:响应于接收到写请求,将所述写请求数据块合并到当前批次,并更新所述当前批次的时间戳;判断所述当前批次的总大小是否已达到下刷数据块阈值或所述写请求数据块是否为文件最后一个数据块;响应于所述当前批次的总大小已达到下刷数据块阈值和/或所述写请求数据块为文件最后一个数据块,将所述当前批次的数据块添加到下刷队列;以及通过下刷线程循环扫描所述下刷队列,依次下刷各批次的数据块。本发明专利技术采用分批次下刷的方式,减少了对写性能的影响;采用多种数据下刷策略保证数据及时下刷;数据下刷在单独的线程中处理,减轻主线程的业务压力。减轻主线程的业务压力。减轻主线程的业务压力。

【技术实现步骤摘要】
一种数据下刷的方法、系统、设备和存储介质


[0001]本专利技术涉及分布式文件系统领域,更具体地,特别是指一种数据下刷的方法、系统、设备和存储介质。

技术介绍

[0002]数据写入文件系统有两种方式:直写和缓存写。直写为同步写,上层应用调用文件系统写接口,数据完成落盘,写接口返回。直写能保证每次写入完成后,数据已落盘,但对于高性能场景来说,每次IO(输入输出)写入都必须同步等待落盘才能结束本次IO,无疑会严重降低系统写性能。缓存写,即写IO将数据写入到缓存中立即返回,不需要等待缓存数据落盘。给缓存设置一定的下刷策略,符合策略时,数据下刷落盘。对于写IO来说,缓存写属于内存操作,不涉及写磁盘过程,因此具有较高的写速度。
[0003]存在于缓存中的数据,如何在不影响写性能的情况下下刷是缓存写方式的一个重要问题。若每次写IO均强制下刷,则缓存写与直写无异,未利用内存缓冲数据,失去了性能优势。

技术实现思路

[0004]有鉴于此,本专利技术实施例的目的在于提出一种数据下刷的方法、系统、计算机设备及计算机可读存储介质,本专利技术通本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种数据下刷的方法,其特征在于,包括如下步骤:响应于接收到写请求,将所述写请求数据块合并到当前批次,并更新所述当前批次的时间戳;判断所述当前批次的总大小是否已达到下刷数据块阈值或所述写请求数据块是否为文件最后一个数据块;响应于所述当前批次的总大小已达到下刷数据块阈值和/或所述写请求数据块为文件最后一个数据块,将所述当前批次的数据块添加到下刷队列;以及通过下刷线程循环扫描所述下刷队列,依次下刷各批次的数据块。2.根据权利要求1所述的方法,其特征在于,方法还包括:响应于当前批次的总大小未达到下刷数据块阈值且所述写请求数据块不为文件最后一个数据块,判断当前批次的时间戳到当前时刻的差值是否达到时间阈值;以及响应于当前批次的时间戳到当前时刻的差值达到时间阈值,将所述当前批次的数据块添加到所述下刷队列。3.根据权利要求1所述的方法,其特征在于,所述将所述写请求数据块合并到当前批次包括:判断所述写请求数据块是否大于预设数据块;以及响应于所述写请求数据块大于所述预设数据块,将所述预设数据块大小更新为所述写请求数据块的大小。4.根据权利要求3所述的方法,其特征在于,判断所述写请求数据块是否为文件最后一个数据块包括:判断当前写请求数据块是否小于所述预设数据块;以及响应于当前写请求数据块小于所述预设数据块,确定所述当前写请求数据块为文件最后一个数据块。5.一种数据下刷的系统,其特征在于,包括:接收模块,配置用于响应于接收到写请求,将所述写请求数据块合并到当前批次,并更新所述当前批次的时间戳;判断模块,配置用于判断所述当前批次的总大小是否已达到下刷数据块阈值或所述写请求数据块...

【专利技术属性】
技术研发人员:刘少荘李文鹏
申请(专利权)人:济南浪潮数据技术有限公司
类型:发明
国别省市:

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

1