一种文件缓存方法及装置制造方法及图纸

技术编号:14882564 阅读:53 留言:0更新日期:2017-03-24 04:56
本发明专利技术公开了一种文件缓存方法及装置,该方法包括:获取各个文件的文件大小、访问频率、平均访问时间间隔及距离当前时间最近的访问时间与当前时间的时间差;基于各个文件的文件大小、访问频率、平均访问时间间隔及时间差计算各个文件的优先级;基于各个文件的优先级将各个文件缓存至缓存池中具有对应被访问优先级的缓存区域中,其中,缓存池中优先级越高的缓存区域越优先被访问。可见,本申请中基于各个文件的文件大小、访问频率、平均访问时间间隔及距离当前时间最近的访问时间与当前时间的时间差确定文件的优先级,能够更加全面的评价文件被访问的可能性,保证了对文件被访问的可能性的准确评价,进而提高了缓存命中率。

【技术实现步骤摘要】

本专利技术涉及数据缓存
,更具体地说,涉及一种文件缓存方法及装置
技术介绍
在存储系统的存储软件开发过程中,经常会使用缓存数据的方式来提高获取数据的速度,理想的方式是将所有可能访问的数据都缓存到内存中(或是在集群环境中从底层存储池缓存到上层的文件系统中),但实际的情况是考虑到硬件设备的配置的高低不同以及数据量越来越呈现出海量的趋势,这就需要通过一定的缓存策略来实现对最有可能被用户读取数据的缓存。现有技术中通常是基于数据的访问频率来设定对应的缓存策略的,具体来说,将访问频率高于设定值的数据缓存至内存中,其他则缓存至其他缓存装置中,其中访问频率高于设定值的数据则被认为是用户最可能访问的数据;由此,在用户需要访问数据时,先由内存中获取数据,如果获取失败,则到其他缓存装置中获取数据。但是,专利技术人发现上述缓存策略所依据的数据维度单一,即仅仅根据数据的访问频率实现对应缓存策略,无法对数据被用户访问的可能性进行全面的评价,因此有可能出现对数据被用户访问的可能性的评价不准确,进而造成在内存中无法获取到数据的情况发生,最终造成缓存命中率较低。综上所述,现有技术提供的缓存策略中存在缓存命中率较低的问题。
技术实现思路
本专利技术的目的是提供一种文件缓存方法及装置,以解决现有技术提供的缓存策略中存在的缓存命中率较低的问题。为了实现上述目的,本专利技术提供如下技术方案:一种文件缓存方法,包括:获取各个文件的文件大小、访问频率、平均访问时间间隔及距离当前时间最近的访问时间与当前时间的时间差;基于所述各个文件的文件大小、访问频率、平均访问时间间隔及时间差计算所述各个文件的优先级;基于所述各个文件的优先级将所述各个文件缓存至所述缓存池中具有对应被访问优先级的缓存区域中,其中,所述缓存池中优先级越高的缓存区域越优先被访问。优选的,计算所述各个文件的优先级,包括:确定任一文件为目标文件;按照下列公式分别计算所述目标文件的第一得分值、第二得分值及第三得分值:ftimevalcurfile=f(ΔT)*15其中,fsizevalcurfile、fratevalcurfile及TINTER分别表示所述目标文件的第一得分值、第二得分值及第三得分值,fsizemin及fsizevalbase分别表示第一预设基准文件的文件大小及第一得分值,fratecurfile及fratevalbase分别表示第二预设基准文件的访问频率及第二得分值,fsizecurfile及fratecurfile分别表示所述目标文件的文件大小及访问频率,如果所述目标文件的平均访问时间间隔大于或等于对应时间差,则f(ΔT)等于所述目标文件的时间差除以对应平均访问时间间隔,如果所述目标文件的平均访问时间间隔小于对应时间差,则f(ΔT)等于所述目标文件的平均访问时间间隔除以对应时间差;基于所述目标文件的第一得分值、第二得分值及第三得分值计算所述目标文件的优先级。优选的,基于所述目标文件的第一得分值、第二得分值及第三得分值计算所述目标文件的优先级,包括:按照下列公式计算所述目标文件的优先级:fvalcurfile=0.2*fsizevalcurfile+0.4*fratevalcurfile+0.4*ftimevalcurfile其中,fvalcurfile表示所述目标文件的优先级。优选的,还包括:当所述缓存池中的任一文件被访问后,获取该文件当前时刻的文件大小、访问频率、平均访问时间间隔及距离当前时间最近的访问时间与当前时间的时间差,并基于该文件当前时刻的文件大小、访问频率、平均访问时间间隔及距离当前时间最近的访问时间与当前时间的时间差计算该文件当前时刻的优先级,基于该文件当前时刻的优先级将该文件缓存至所述缓存池中具有对应被访问优先级的缓存区域中。优选的,基于所述各个文件的优先级将所述各个文件缓存至所述缓存池中具有对应被访问优先级的缓存区域中之后,还包括:将所述各个文件的元数据均缓存至所述缓存池中被访问优先级最高的缓存区域中。一种文件缓存装置,包括:参数获取模块,用于获取各个文件的文件大小、访问频率、平均访问时间间隔及距离当前时间最近的访问时间与当前时间的时间差;计算模块,用于基于所述各个文件的文件大小、访问频率、平均访问时间间隔及时间差计算所述各个文件的优先级;缓存模块,用于基于所述各个文件的优先级将所述各个文件缓存至所述缓存池中具有对应被访问优先级的缓存区域中,其中,所述缓存池中优先级越高的缓存区域越优先被访问。优选的,所述计算模块包括:计算单元,用于:确定任一文件为目标文件;按照下列公式分别计算所述目标文件的第一得分值、第二得分值及第三得分值:ftimevalcurfile=f(ΔT)*15其中,fsizevalcurfile、fratevalcurfile及TINTER分别表示所述目标文件的第一得分值、第二得分值及第三得分值,fsizemin及fsizevalbase分别表示第一预设基准文件的文件大小及第一得分值,fratecurfile及fratevalbase分别表示第二预设基准文件的访问频率及第二得分值,fsizecurfile及fratecurfile分别表示所述目标文件的文件大小及访问频率,如果所述目标文件的平均访问时间间隔大于或等于对应时间差,则f(ΔT)等于所述目标文件的时间差除以对应平均访问时间间隔,如果所述目标文件的平均访问时间间隔小于对应时间差,则f(ΔT)等于所述目标文件的平均访问时间间隔除以对应时间差;基于所述目标文件的第一得分值、第二得分值及第三得分值计算所述目标文件的优先级。优选的,所述计算单元包括:计算子单元,用于按照下列公式计算所述目标文件的优先级:fvalcurfile=0.2*fsizevalcurfile+0.4*fratevalcurfile+0.4*ftimevalcurfile其中,fvalcurfile表示所述目标文件的优先级。优选的,还包括:实时调整模块,用于:当所述缓存池中的任一文件被访问后,获取该文件当前时刻的文件大小、访问频率、平均访问时间间隔及距离当前时间最近的访问时间与当前时间的时间差,并基于该文件当前时刻的文件大小、访问频率、平均访问时间间隔及距离当前时间最近的访问时间与当前时间的时间差计算该文件当前时刻的优先级,基于该文件当前时刻的优先级将该文件缓存至所述缓存池中具有对应被访问优先级的缓存区域中。优选的,所述缓存模块还包括:缓存单元,用于基于所述各个文件的优先级将所述各个文件缓存至所述缓存池中具有对应被访问优先级的缓存区域中之后,将所述各个文件的元数据均缓存至所述缓存池中被访问优先级最高的缓存区域中。本专利技术提供的一种文件缓存方法及装置,其中该方法包括:获取各个文件的文件大小、访问频率、平均访问时间间隔及距离当前时间最近的访问时间与当前时间的时间差;基于所述各个文件的文件大小、访问频率、平均访问时间间隔及时间差计算所述各个文件的优先级;基于所述各个文件的优先级将所述各个文件缓存至所述缓存池中具有对应被访问优先级的缓存区域中,其中,所述缓存池中优先级越高的缓存区域越优先被访问。本申请公开的技术特征中,基于各个文件的文件大小、访问频率、平均访问时间间隔及距离当前时间最近的访问时间与当前时间的时间差计算各个文件的本文档来自技高网...
一种文件缓存方法及装置

【技术保护点】
一种文件缓存方法,其特征在于,包括:获取各个文件的文件大小、访问频率、平均访问时间间隔及距离当前时间最近的访问时间与当前时间的时间差;基于所述各个文件的文件大小、访问频率、平均访问时间间隔及时间差计算所述各个文件的优先级;基于所述各个文件的优先级将所述各个文件缓存至所述缓存池中具有对应被访问优先级的缓存区域中,其中,所述缓存池中优先级越高的缓存区域越优先被访问。

【技术特征摘要】
1.一种文件缓存方法,其特征在于,包括:获取各个文件的文件大小、访问频率、平均访问时间间隔及距离当前时间最近的访问时间与当前时间的时间差;基于所述各个文件的文件大小、访问频率、平均访问时间间隔及时间差计算所述各个文件的优先级;基于所述各个文件的优先级将所述各个文件缓存至所述缓存池中具有对应被访问优先级的缓存区域中,其中,所述缓存池中优先级越高的缓存区域越优先被访问。2.根据权利要求1所述的方法,其特征在于,计算所述各个文件的优先级,包括:确定任一文件为目标文件;按照下列公式分别计算所述目标文件的第一得分值、第二得分值及第三得分值:fsizevalcurfile=fsizeminfsizecurfile*fsizevalbase]]>fratevalcurfile=fratecurfilefratemax*fratevalbase]]>ftimevalcurfile=f(ΔT)*15其中,fsizevalcurfile、fratevalcurfile及TINTER分别表示所述目标文件的第一得分值、第二得分值及第三得分值,fsizemin及fsizevalbase分别表示第一预设基准文件的文件大小及第一得分值,fratecurfile及fratevalbase分别表示第二预设基准文件的访问频率及第二得分值,fsizecurfile及fratecurfile分别表示所述目标文件的文件大小及访问频率,如果所述目标文件的平均访问时间间隔大于或等于对应时间差,则f(ΔT)等于所述目标文件的时间差除以对应平均访问时间间隔,如果所述目标文件的平均访问时间间隔小于对应时间差,则f(ΔT)等于所述目标文件的平均访问时间间隔除以对应时间差;基于所述目标文件的第一得分值、第二得分值及第三得分值计算所述目标文件的优先级。3.根据权利要求2所述的方法,其特征在于,基于所述目标文件的第一得分值、第二得分值及第三得分值计算所述目标文件的优先级,包括:按照下列公式计算所述目标文件的优先级:fvalcurfile=0.2*fsizevalcurfile+0.4*fratevalcurfile+0.4*ftimevalcurfile其中,fvalcurfile表示所述目标文件的优先级。4.根据权利要求1所述的方法,其特征在于,还包括:当所述缓存池中的任一文件被访问后,获取该文件当前时刻的文件大小、访问频率、平均访问时间间隔及距离当前时间最近的访问时间与当前时间的时间差,并基于该文件当前时刻的文件大小、访问频率、平均访问时间间隔及距离当前时间最近的访问时间与当前时间的时间差计算该文件当前时刻的优先级,基于该文件当前时刻的优先级将该文件缓存至所述缓存池中具有对应被访问优先级的缓存区域中。5.根据权利要求4所述的方法,其特征在于,基于所述各个文件的优先级将所述各个文件缓存至所述缓存池中具有对应被访问优先级的缓存区域中之后,还包括:将所述各个文件的元数据均缓存至所述缓存池中被访问优先级最高的缓存区域中。6.一种文件缓存装置,...

【专利技术属性】
技术研发人员:李庆龙
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南;41

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

1