一种数据缓存的方法、系统、计算机存储介质及移动终端技术方案

技术编号:35275434 阅读:15 留言:0更新日期:2022-10-19 10:54
本发明专利技术涉及计算机缓存技术领域,尤其涉及一种数据缓存的方法、系统、计算机存储介质及移动终端。包括步骤:基于Checkpoint时生成Checkpointio并发送至Dmcache设备上;元数据io经Dmcache设备时直接存入原始磁盘设备中;等待缓存设备数据在时间阈值内回写存入原始磁盘设备反应是否超时;缓存设备数据回写存入原始磁盘设备未超时则将本次Checkpoint写入文件系统;若缓存设备数据回写存入原始磁盘设备超时,文件系统维持上一次Checkpoint,元数据和数据仍一致。解决了在F2FS文件系统上使用Dmcache时保证Checkpoint的一致性。Dmcache时保证Checkpoint的一致性。Dmcache时保证Checkpoint的一致性。

【技术实现步骤摘要】
一种数据缓存的方法、系统、计算机存储介质及移动终端


[0001]本专利技术涉及计算机缓存
,尤其涉及一种数据缓存的方法、系统、计算机存储介质及移动终端。

技术介绍

[0002]F2FS文件系统是为flash设备设计的一个日志结构型的文件系统,其闪存设备物理区域布局如图3所示,整个存储设备区域被F2FS格式化为6个区域,分别是Superblock、Checkpoint、Segment Info Table、Node Address Table、Segment Summary Area以及Main Area,前五个区域称为元数据区域(Metadata Area),保存的是跟F2FS直接相关的元信息,而最后一个区域是保存文件数据的主要区域,主要保存了node数据、文件data数据、目录数据,比如NAT区建立一张表保持了每一个node的物理地址信息。F2FS的每一个node id(nid),以它做索引在NAT查找此Node区的物理地址,node数据结构中又有nid成员标识,其两者的对应关系参阅图4所示。
[0003]F2FS依赖Checkpoint保证其数据一致性,系统在写Checkpoint时会将系统的block、node等分配状态、NAT/SIT页缓冲数据写到磁盘相应的元数据区,用于被关闭/崩溃时复原整个系统的block、node的分配状态,因Checkpoint会带来很大的开销,所以不是每次写入数据都做,而是隔一段时间做一次。
[0004]Dmcache技术主要用在服务器存储上加快磁盘的读写速度,其设计成由三个物理存储设备来混合成一个逻辑卷的形式,三个物理设备分别为:原始磁盘设备,提供主要的慢速存储,最终数据罗盘到此设备中;缓存设备,提供高速原始磁盘设备数据的缓存;元数据设备,记录硬盘块在缓存中的位置,缓存页面是否被写以及执行缓存策略所需的内部数据。参阅图5所示,在读写Dmcache设备时,如果缓存命中,则直接从缓存设备中读写数据,不需要访问后端的慢速的原始磁盘设备,极大地提高了系统的io性能,移动终端可在F2FS文件系统上使用RAM做缓存设备的Dmcache大幅提升其存储性能,但RAM的易失性可能会导致文件系统损坏,若最近一次F2FSCheckpoint时缓存设备中有数据未刷回原始磁盘设备,在系统异常掉电时,NAT区记录的块地址信息和Node区记录的nide id信息未被写入原始磁盘设备相应的NAT区和Node区,在下次文件系统启动时会检测到设备物理区域元数据区和数据区一致性存在问题,例如:文件系统启动时会根据nide id和NAT区找到此nide相应的块地址,然后以此块地址在Node区找到相应的node文件的node id信息反向校验,从而导致文件系统启动失败。
[0005]综上所述,本专利技术实际解决的技术问题是如何解决在F2FS文件系统上使用Dmcache时保证Checkpoint的一致性。

技术实现思路

[0006]为了克服上述技术缺陷,本专利技术的目的在于提供一种数据缓存的方法、系统、计算机存储介质及移动终端,解决了在F2FS文件系统上使用Dmcache时保证Checkpoint的一致
性。
[0007]本专利技术公开了一种,文件系统的数据缓存的方法,包括步骤:
[0008]基于Checkpoint时生成Checkpoint io并发送至Dmcache设备上;
[0009]元数据io经Dmcache设备时直接存入原始磁盘设备中;
[0010]等待缓存设备数据在时间阈值内回写存入原始磁盘设备反应是否超时;
[0011]缓存设备数据回写存入原始磁盘设备未超时则将本次Checkpoint写入文件系统;若缓存设备数据回写存入原始磁盘设备超时,文件系统维持上一次Checkpoint,元数据和数据仍一致。
[0012]优选地,元数据io经Dmcache设备时直接存入原始磁盘设备中时包括步骤:
[0013]Dmcache设备判断是否是元数据io;
[0014]若Dmcache设备中是元数据io时,将元数据io直接存入原始磁盘设备中;
[0015]Dmcache设备判断是否是Checkpoint io;
[0016]若Dmcache设备中是Checkpoint io时,将缓存设备数据回写存入原始磁盘设备中。
[0017]优选地,若Dmcache设备中是Checkpoint io时,文件系统暂停所有用户io。
[0018]有鉴于此,本专利技术的目的之二在于提供一种运用上述方法的系统,包括:
[0019]Checkpoint io生成模块:用于生成Checkpoint io并发送至Dmcache设备上,并通知文件系统当前正在做Checkpoint;
[0020]存入模块:用于将元数据io经Dmcache设备时直接存入原始磁盘设备中;
[0021]超时等待模块:用于等待缓存设备数据在时间阈值内回写存入原始磁盘设备反应是否超时;
[0022]判定模块:用于当缓存设备数据回写存入原始磁盘设备未超时则将本次Checkpoint写入文件系统中;若缓存设备数据回写存入原始磁盘设备设备超时,文件系统则维持上一次的Checkpoint,元数据和数据仍会保持一致。
[0023]优选地,第一判断单元:用于判断Dmcache设备中是否是元数据io;
[0024]元数据io存入单元:用于将第一判断模块判断出的Dmcache设备中的元数据io存入原始磁盘设备中;
[0025]第二判断单元:用于判断Dmcache设备中是否是Checkpoint io,Checkpoint io用于通知Dmcache设备系统在做Checkpoint;
[0026]存入单元:用于将第二判断模块判断出的Dmcache设备中的缓存设备数据回写存入原始磁盘设备中。
[0027]优选地,在Dmcache设备收到io时,,文件系统暂停所有用户io。
[0028]有鉴于此,本专利技术的目的之三在于提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如上述方法的步骤。
[0029]有鉴于此,本专利技术的目的之四在于提供一种移动终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述方法的步骤。
[0030]采用了上述技术方案后,与现有技术相比,本专利技术的有益效果在于解决了在F2FS文件系统上使用Dmcache时保证Checkpoint的一致性,在异常掉电等情况下文件系统依然
保持在正常的状态;通过在F2FS文件系统上使用Dmcahce,随机读写性能大幅度提升,提示用户的使用体验,节省时间。
附图说明
[0031]图1为本专利技术一种数据缓存的方法、系统、计算机存储介质及移动终端的方法的流程示意图;
[0032]图2为本专利技术一种数据缓存的方法、系统、计算机存储介质及移动终端的保证一致性的流程示意图;
[本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种文件系统的数据缓存的方法,其特征在于,包括步骤:基于Checkpoint时生成Checkpoint io并发送至Dmcache设备上;元数据io经所述Dmcache设备时直接存入原始磁盘设备中;等待所述缓存设备数据在时间阈值内回写存入所述原始磁盘设备反应是否超时;所述缓存设备数据回写存入所述原始磁盘设备未超时则将本次Checkpoint写入所述文件系统;若所述缓存设备数据回写存入所述原始磁盘设备超时,所述文件系统维持上一次所述Checkpoint,元数据和数据仍一致。2.根据权利要求1所述的方法,其特征在于,所述元数据io经Dmcache设备时直接存入原始磁盘设备中时包括步骤:所述Dmcache设备判断是否是所述元数据io;若所述Dmcache设备中是所述元数据io时,将所述元数据io直接存入所述原始磁盘设备中;所述Dmcache设备判断是否是所述Checkpoint io;若所述Dmcache设备中是所述Checkpoint io时,将所述缓存设备数据回写存入所述原始磁盘设备中。3.根据权利要求2所述的方法,其特征在于,若所述Dmcache设备中是所述Checkpoint io时,所述文件系统暂停所有用户io。4.一种运用如权利要求1至3任一项所述的方法的系统,其特征在于,包括:Checkpoint io生成模块:用于生成所述Checkpoint io并发送至所述Dmcache设备上,并通知所述文件系统当前正在做Checkpoint;存入模块:用于将所述元数据io经所述Dmcache...

【专利技术属性】
技术研发人员:王世珍郑自浩杨东虎
申请(专利权)人:南京雷鲨信息科技有限公司
类型:发明
国别省市:

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

1