[发明专利]一种文件系统缓存增量刷新方法及系统在审
申请号: | 201710363593.1 | 申请日: | 2017-05-22 |
公开(公告)号: | CN107193947A | 公开(公告)日: | 2017-09-22 |
发明(设计)人: | 李文鹏 | 申请(专利权)人: | 郑州云海信息技术有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京集佳知识产权代理有限公司11227 | 代理人: | 古利兰,王宝筠 |
地址: | 450018 河南省郑州市*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 文件系统 缓存 增量 刷新 方法 系统 | ||
技术领域
本发明涉及数据处理技术领域,更具体地说,涉及一种文件系统缓存增量刷新方法及系统。
背景技术
在海量存储源文件的场景中,源文件的频繁创建、读写、下盘引出了很多问题,有很多公司针对这种场景将源文件聚合成一个聚合文件。当创建源文件时,为提高写操作效率,采用写缓存模式即写入文件系统缓存即认为数据写成功,当缓存写满时数据落盘。
但是在文件已存入缓存,但缓存尚未存满情况下,节点异常等情况下会导致使数据丢失。为让缓存中源文件安全落盘存储,通常采用定时刷新方案,将整个缓存全部数据刷新落盘。伴随着用户频繁的写入和定时刷新,落盘的缓存数据大小并不相等,由此为聚合文件的统一操作和小文件的管理会带来许多麻烦。因此,如何实现缓存安全、高效、快速的刷新是一项亟待解决的问题。
发明内容
有鉴于此,本发明的目的在于提供一种文件系统缓存增量刷新方法,能够实现缓存安全、高效、快速的刷新。
为实现上述目的,本发明提供如下技术方案:
一种文件系统缓存增量刷新方法,包括:
读取文件系统缓存记录信息,所述缓存记录信息中包含缓存数据大小和缓存偏移量;
判断所述缓存数据大小是否为0且所述缓存数据量大小是否等于所述缓存数据偏移量;
当所述缓存数据大小不为0且不等于所述缓存数据偏移量时,判断所述缓存数据大小是否大于所述缓存偏移量;
当所述缓存数据大小大于所述缓存偏移量时,将所述缓存数据偏移量与所述缓存数据大小之间的缓存数据增量刷新落盘。
优选地,所述当所述缓存数据大小大于所述缓存偏移量时,将所述缓存数据偏移量与所述缓存数据大小之间的缓存数据增量刷新落盘后,还包括:
更新所述文件系统缓存数据记录信息。
优选地,所述读取文件系统缓存记录信息,所述缓存记录信息中包含缓存数据大小和缓存偏移量后,还包括:
判断所述文件系统缓存数据记录信息距离上次更新的时间是否大于预设阈值;
当所述文件系统缓存数据记录信息距离上次更新的时间大于预设阈值时,判断所述缓存数据大小是否为0且所述缓存数据量大小是否等于所述缓存数据偏移量。
优选地,当所述缓存数据大小小于所述缓存偏移量时,记录失败信息。
优选地,当所述缓存数据大小等于0或所述缓存偏移量等于所述缓存数据大小时,再次读取文件系统缓存记录信息。
一种文件系统缓存增量刷新系统,包括:
读取模块,用于读取文件系统缓存记录信息,所述缓存记录信息中包含缓存数据大小和缓存偏移量;
第一判断模块,用于判断所述缓存数据大小是否为0且所述缓存数据量大小是否等于所述缓存数据偏移量;
第二判断模块,用于当所述缓存数据大小不为0且不等于所述缓存数据偏移量时,判断所述缓存数据大小是否大于所述缓存偏移量;
处理模块,用于当所述缓存数据大小大于所述缓存偏移量时,将所述缓存数据偏移量与所述缓存数据大小之间的缓存数据增量刷新落盘。
优选地,所述系统还包括:
更新模块,用于更新所述文件系统缓存数据记录信息。
优选地,所述系统还包括:
第三判断模块,用于判断所述文件系统缓存数据记录信息距离上次更新的时间是否大于预设阈值;
当所述文件系统缓存数据记录信息距离上次更新的时间大于预设阈值时,所述第一判断模块判断所述缓存数据大小是否为0且所述缓存数据量大小是否等于所述缓存数据偏移量。
优选地,当所述缓存数据大小小于所述缓存偏移量时,所述系统还包括:
记录模块,用于记录失败信息。
优选地,所述系统当所述缓存数据大小等于0或所述缓存偏移量等于所述缓存数据大小时,所述读取模块再次读取文件系统缓存记录信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州云海信息技术有限公司,未经郑州云海信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710363593.1/2.html,转载请声明来源钻瓜专利网。