数据块的缓存方法、装置、设备及存储介质制造方法及图纸

技术编号:20024646 阅读:31 留言:0更新日期:2019-01-06 03:58
本申请公开了一种数据块的缓存方法、装置、计算机设备及存储介质,属于存储技术领域。所述方法包括:获取访问请求,所述访问请求用于请求访问第一数据块;当所述第一数据块在所述缓存空间中未命中时,检测第二数据块是否满足懒惰条件,所述第二数据块是所述缓存空间中的备选剔除块;当所述第二数据块满足所述懒惰条件时,从所述存储空间访问所述第一数据块且不将所述第二数据块替换出所述缓存空间中。本申请能够极大地延长第二数据块在缓存空间中的停留时长,提高有用数据块的命中率,从而提升存储系统的读写性能。

【技术实现步骤摘要】
数据块的缓存方法、装置、设备及存储介质
本申请涉及存储
,特别涉及一种数据块的缓存方法、装置、设备及存储介质。
技术介绍
数据存储系统包括:存储空间和缓存空间。存储空间存储有全量数据块,缓存空间用于存储被频繁访问的热度数据块。热度数据块是全量数据块的子集。在数据存储系统中采用缓存算法来移入或移出缓存空间中的热度数据块。在缓存空间中已经存储满的场景下,对于缓存空间中每个未命中的数据块,缓存算法将该数据块从存储空间中读取后,作为新的热度数据块与缓存空间中的一个旧热度数据块进行交换。由于典型的使用场景下,存在很多热度数据块的重复访问在很长时间后才能发生。如果缓存算法只是简单的在每次未命中时替换缓存空间中的热度数据块,新存入的热度数据块会污染缓存空间,而这个热度数据块在将来的缓存过程中可能永远不会被命中,从而降低缓存空间的使用效率。
技术实现思路
本申请实施例提供了一种数据块的缓存方法、装置、设备及存储介质,可以解决在缓存空间中每个未命中的数据块均进行替换时,新存入的热度数据块会污染缓存空间,而这个热度数据块在将来的缓存过程中可能永远不会被命中,从而降低缓存空间的使用效率的问题。所述技术方案如下:根据本申请的一个方面,提供了一种数据块的缓存方法,用于存储系统中,所述存储系统包括存储空间和缓存空间,所述方法包括:获取访问请求,所述访问请求用于请求访问第一数据块;当所述第一数据块未在所述缓存空间中命中时,检测第二数据块是否满足懒惰条件,所述第二数据块是所述缓存空间中的备选剔除块,所述懒惰条件是用于衡量所述第一数据块的重新访问概率的条件;当所述第二数据块满足所述懒惰条件时,从所述存储空间读取所述第一数据块且不将所述第一数据块添加至所述缓存空间中;当所述第二数据块不满足所述懒惰条件时,使用所述第二数据块替换所述缓存空间中的第二数据块。根据本申请的另一方面,提供了一种数据块的缓存装置,应用于存储系统中,所述存储系统包括存储空间和缓存空间,所述装置包括:获取模块,用于获取访问请求,所述访问请求用于请求访问第一数据块;检测模块,用于当所述第一数据块未在所述缓存空间中命中时,检测所述第一数据块是否满足懒惰条件,所述懒惰条件是用于衡量所述第一数据块的重新访问概率的条件;读取模块,用于当所述第一数据块满足所述懒惰条件时,从所述存储空间读取所述第一数据块且不将所述第一数据块添加至所述缓存空间中。根据本申请的另一方面,提供了一种应用于存储系统中的计算机设备,所述存储系统包括存储空间和缓存空间,所述计算机设备包括:处理器;与所述处理器相连的收发器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为加载并执行所述可执行指令以实现如上所述的数据块的缓存方法。根据本申请的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上所述的数据块的缓存方法。本申请实施例提供的技术方案带来的有益效果至少包括:通过当第一数据块在缓存空间中未命中时,检测缓存空间中的第二数据块是否满足懒惰条件,当第二数据块满足懒惰条件时,从存储空间读取第一数据块且暂不将第二数据块替换出缓存空间中,能够极大地延长第二数据块在缓存空间中的停留时长,提高有用数据块的命中率,从而提升存储系统的读写性能。附图说明为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本申请一个示例性实施例提供的存储系统的结构示意图;图2是本申请一个示例性实施例提供的数据块的缓存方法的流程图;图3是本申请另一个示例性实施例提供的数据块的缓存方法的流程图;图4是本申请另一个示例性实施例提供的数据块的缓存方法的流程图;图5是本申请一个示例性实施例提供的索引表、元数据区和数据区的结构示意图;图6是本申请一个示例性实施例提供的第一懒惰条件的示意图;图7是本申请一个示例性实施例提供的第二懒惰条件的示意图;图8是本申请一个示例性实施例提供的数据块的缓存方法的实施示意图;图9是本申请一个示例性实施例提供的数据块的缓存装置的结构框图;图10是本申请一个示例性实施例提供的数据块的缓存装置的结构框图;图11是本申请另一个示例性实施例提供的计算机设备的结构框图。具体实施方式为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。首先对本申请涉及的若干个术语进行介绍:懒惰替换:是指第一数据块在缓存空间中未命中时,条件性的将该第一数据块与缓存空间中的第二数据块(也称备选剔除块)进行替换的方式。这里的“懒惰”是相对于相关技术中,在缓存空间中每次未命中数据块时,均强制对缓存空间中的备选剔除块进行强制替换而言的。重用距离:是对同一个数据块的两次连续访问之间的唯一数据块的计数,或,对同一个数据块的两次连续访问之间的数据块的计数。例如,历史访问的数据块序列包括:1-2-4-5-4-3-3-2,当采用唯一数据块的计数方式时,数据块2的重用距离是3,因为在数据块的两次连续访问之间的唯一数据块集合是{3,4,5};当采用数据块的计数方式时,数据块的重用距离是5。连续访问也称重新访问,是指同一个数据块再次被访问的事件。在存储系统中,数据块的重用距离对缓存命中率有很大的影响。通常,不同的存储系统具有不同的重用距离特性。例如,在传统的片上高速缓存环境中,平均重用距离可能远远短于云块存储系统。索引表:是一种用于加速数据查找的数据结构,常见的索引表结构包括:B树、B+树、哈希散列表以及红黑树等。命中:当一个数据块被访问时,若该数据块存在于缓存空间中,即认为在缓存空间中命中了该数据块。图1示出了本申请一个示例性实施例提供的存储系统100的结构框图。该存储系统100包括:控制设备120、缓存空间140和存储空间160。控制设备120是用于控制缓存空间140对被频繁访问的数据块142进行存储的计算机设备。可选地,控制设备120中运行有缓存算法,该缓存算法用于实现本申请各个实施例中提供的数据块的缓存方法。缓存空间140是用于对存储空间160中被频繁访问的数据块142进行缓存的存储逻辑单元。缓存空间140的读写性能优于存储空间160的读写性能。缓存空间140可采用非易失性缓存设备来构建。非易失性缓存设备包括:固态硬盘(SolidStateDrives,SSD)、相变存储(Phase-ChangeMemory,PCM)、自旋转移扭矩磁随机存取器(SharedTransistorTechnologyMagneticRandomAccessMemory,STT-MRAM)及电阻式内存(ReRAM)等。存储空间160是用于对全量的数据块164进行存储的存储逻辑单元。存储空间160可采用非易失性存储设备来构建。常见的非易失性存储设备为机械硬盘。在存储空间160中存在多个存储卷162,每个存储卷162中存储有多个数据块164。可选地,数据块的大小是相同或不同的,比如数据块的大小可以是4KB本文档来自技高网...

【技术保护点】
1.一种数据块的缓存方法,用于存储系统中,所述存储系统包括存储空间和缓存空间,其特征在于,所述方法包括:获取访问请求,所述访问请求用于请求访问第一数据块;当所述第一数据块在所述缓存空间中未命中时,检测第二数据块是否满足懒惰条件,所述第二数据块是所述缓存空间中的备选剔除块,所述懒惰条件是根据重新访问概率确定将所述第二数据块延迟替换出所述缓存空间的条件;当所述第二数据块满足所述懒惰条件时,从所述存储空间访问所述第一数据块且不将所述第二数据块替换出所述缓存空间中。

【技术特征摘要】
1.一种数据块的缓存方法,用于存储系统中,所述存储系统包括存储空间和缓存空间,其特征在于,所述方法包括:获取访问请求,所述访问请求用于请求访问第一数据块;当所述第一数据块在所述缓存空间中未命中时,检测第二数据块是否满足懒惰条件,所述第二数据块是所述缓存空间中的备选剔除块,所述懒惰条件是根据重新访问概率确定将所述第二数据块延迟替换出所述缓存空间的条件;当所述第二数据块满足所述懒惰条件时,从所述存储空间访问所述第一数据块且不将所述第二数据块替换出所述缓存空间中。2.根据权利要求1所述的方法,其特征在于,所述存储系统存储有数据块标识列表BIL,所述BIL存储有历史访问的n个数据块的块元数据,n为正整数;所述检测所述第二数据块是否满足懒惰条件,包括:当所述第一数据块不存在于所述BIL中时,检测所述第二数据块是否满足第一懒惰条件;当所述第一数据块存在于所述BIL中时,检测所述第二数据块是否满足第二懒惰条件;其中,所述第一懒惰条件所指示的重新访问概率小于所述第二懒惰条件所指示的重新访问概率。3.根据权利要求2所述的方法,其特征在于,所述第一懒惰条件包括:所述第二数据块的所述标记值大于第一阈值,所述标记值是用于衡量所述第二数据块的访问重要程度的变量;所述第二懒惰条件包括:所述第二数据块的所述标记值大于第二阈值,且所述第二数据块在所述缓存空间中的停留时长大于K倍的块平均重用距离,K>0。4.根据权利要求3所述的方法,其特征在于,所述方法还包括;当所述第二数据块在所述缓存空间中命中时,按照第一幅度增加所述标记值;当所述第二数据块在所述缓存空间中因满足所述懒惰条件未被替换时,按照第二幅度减少所述标记值。5.根据权利要求2至4任一所述的方法,其特征在于,所述方法还包括:当所述第二数据块满足所述第一懒惰条件时,将所述第一数据块的块元数据添加至所述BIL的列表头部,并将所述BIL的列表尾部的第三数据块的块元数据进行删除;当所述第二数据块满足所述第二懒惰条件时,将所述第一数据块的块元数据移动至所述BIL的列表头部。6.根据权利要求2至4任一所述的方法,其特征在于,所述方法还包括:当所述第二数据块不满足所述第一懒惰条件或所述第二懒惰条件时,使用所述第一数据块替换所述第二数据块。7.根据权利要求2至4任一所述的方法,其特征在于,所述存储系统存储有懒惰替换列表LEL,所述LEL存储有位于所述缓存空间中的n个数据块的块元数据,n为正整数;所述方法还包括:当所述第二数据块不满足所述第一懒惰条件时,将所述第二数据块的块元数据从所述LEL的列表尾部删除;当所述第二数据块不满足所述第二懒惰条件时,将所述第二数据块的块元数据从所述LEL的列表尾部删除,且将所述第二数据块的块元数据移动至所述BIL的列表头部。8.根据权利要求1至4任一所述的方法,其特征在于,所述存储系统存储有懒惰替换列表LEL,所述LEL存储有位于所述缓存空间中的n个数据块的块元数据,n为正整数;所述方法还包括:当所述第二数据块不满足所述懒惰条件时,将所述第一数据块的块元数...

【专利技术属性】
技术研发人员:周可张煜王桦吉永光程彬
申请(专利权)人:华中科技大学腾讯科技深圳有限公司
类型:发明
国别省市:湖北,42

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

1