好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

数据块缓存方法和装置制造方法.docx

10页
  • 卖家[上传人]:ting****789
  • 文档编号:315057074
  • 上传时间:2022-06-20
  • 文档格式:DOCX
  • 文档大小:22.59KB
  • / 10 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 数据块缓存方法和装置制造方法数据块缓存方法和装置制造方法本发明实施例提供一种数据块缓存方法和装置本发明数据块缓存方法,包括:确定是否调整当前热点数据块的大小,若确定调整当前热点数据块的大小,则调整当前热点数据块的大小,将调整后的当前热点数据块缓存到固态硬盘中本发明实施例从而解决了现有技术中IO设备访问的数据的大小偏离预先设定的数据块的大小过多时,数据块的大小、内存开销和SSD利用率三因素会失衡,无法自适应多种IO业务场景混合的问题,实现了在多种IO业务场景下数据块的大小、内存开销和SSD利用率三因素之间的平衡专利说明】数据块缓存方法和装置【技术领域】[0001 ] 本发明实施例涉及信息通信技术,尤其涉及一种数据块缓存方法和装置背景技术】[0002]在多级缓存架构中,物理内存作为一级缓存,通常将固态硬盘(Solid StateDevice,简称SSD)作为二级缓存,以利用SSD盘的快速读写能力,满足客户机的快速读写需求,同时还可以弥补物理内存容量的不足[0003]SSD作为二级缓存的实施方案,现有技术中通常是通过监控输入输出(Input/Output,简称10)设备以数据块为单位识别出热点数据块,热点数据块是IO设备最近频繁访问的数据块,并将热点数据块复制到SSD上缓存,并且数据块的大小是固定的,其中,监控设备需要记录数据块的访问频率,缓存数据需要记录缓存数据块与SSD的存储单元的映射信息,都需要一定的内存开销。

      [0004]然而,该方案仅在IO设备访问的数据的大小与设定的数据块的大小匹配度较高时,才能使数据块的大小、内存开销和SSD利用率三因素之间达到均衡当IO设备访问的数据的大小偏离预先设定的数据块的大小较大时,会导致上述三因素之间无法均衡,从而无法自适应多种IO业务场景混合的情况发明内容】[0005]本发明实施例提供一种数据块缓存方法和装置,以解决现有技术中IO设备访问的数据的大小偏离预先设定的数据块的大小过多时,数据块的大小、内存开销和SSD利用率三因素会失衡,无法自适应多 种IO业务场景混合的问题[0006]第一方面,本发明实施例提供一种数据块缓存方法,包括:[0007]确定是否调整当前热点数据块的大小;[0008]若确定调整所述当前热点数据块的大小,则调整所述当前热点数据块的大小;[0009]将调整后的当前热点数据块缓存到固态硬盘中[0010]在第一方面的第一种可能的实现方式中,所述确定是否调整当前热点数据块的大小,包括:[0011]根据所述当前热点数据块的大小、所述当前热点数据块的下一个热点数据块的大小和所述当前热点数据块与所述下一个热点数据块之间的一个冷数据块的大小,确定是否调整所述当前热点数据块的大小。

      [0012]根据第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述根据所述当前热点数据块的大小、所述当前热点数据块的下一个热点数据块的大小和所述当前热点数据块与所述下一个热点数据块之间的一个冷数据块的大小,确定是否调整所述当前热点数据块的大小,包括:[0013]根据所述当前热点数据块的大小a和所述一个冷数据块的大小c计算第一比值X,以及根据所述下一个热点数据块的大小b和所述一个冷数据块的大小c计算第二比值y,其 PP中,x=—, a b[0014]若第一比值x小于等于第一门限值或所述第二比值y小于等于第二门限值,则确定调整所述当前热点数据块的大小[0015]根据第一方面的第一种可能的实现方式,在第三种可能的实现方式中,所述根据所述当前热点数据块的大小、所述当前热点数据块的下一个热点数据块的大小和所述当前热点数据块与所述下一个热点数据块之间的一个冷数据块的大小,确定是否调整所述当前热点数据块的大小,包括:[0016]根据所述当前热点数据块的大小a、所述下一个热点数据块的大小b和所述一个冷数据块的大小c计算第三比值z,其中,z=5;[0017]若第三比值z小于等于第三门限值,则确定调整所述当前热点数据块的大小。

      [0018]根据第一方面的第一种可能的实现方式,在第四种可能的实现方式中,所述根据所述当前热点数据块的大小、所述当前热点数据块的下一个热点数据块的大小和所述当前热点数据块与所述下一个热点数据块之间的一个冷数据块的大小,确定是否调整所述当前热点数据块的大小,包括:[0019]根据所述当前热点数据块的大小a、所述下一个热点数据块的大小b和所述一个冷数据块的大小c计算第四比值q,其中,;[0020]若第四比值q小于等于第四门限值,则确定调整所述当前热点数据块的大小[0021]根据第一方面的第二种至第四种可能的实现方式的任意一种,在第五种可能的实现方式中,所述调整所述当前热点数据块的大小,包括:[0022]合并所述当前热点数据块、所述下一个热点数据块和所述一个冷数据块为一个新的热点数据块,并将所述一个新的热点数据块作为调整后的当前热点数据块[0023]根据第一方面,在第六种可能的实现方式中,所述确定是否调整当前热点数据块的大小,包括:[0024]确定所述当前热点数据块的相邻的数据块是否为热点数据块;[0025]若确定所述当前热点数据块的相邻的数据块为热点数据块,则确定调整当前热点数据块的大小;[0026]所述调整所述当前热点数据块的大小,包括:[0027]合并所述当前热点数据块和所述当前热点数据块的相邻的数据块为一个新的热点数据块,并将所述一个新的热点数据块作为调整后的当前热点数据块。

      [0028]根据第一方面,在第七种可能的实现方式中,所述确定是否调整当前热点数据块的大小,包括:[0029]根据输入输出设备访问的数据的大小的平均值和所述当前热点数据块的大小,确定是否调整当前热点数据块的大小;[0030]若所述当前热点数据块的大小小于所述平均值,则确定调整所述当前热点数据块的大小;[0031]所述调整所述当前热点数据块的大小,包括:[0032]向后补齐所述当前热点数据块为一个新的热点数据块,以使所述一个新的热点数据块的大小等于所述平均值,并将所述一个新的热点数据块作为调整后的当前热点数据块[0033]根据第一方面,在第八种可能的实现方式中,所述确定是否调整当前热点数据块的大小,包括:[0034]统计与所述当前热点数据块相邻的两个数据块被输入输出设备访问的次数;[0035]若与所述当前热点数据块相邻的数据块被输入输出设备访问的次数大于等于1,则确定调整当前热点数据块的大小;[0036]所述调整所述当前热点数据块的大小,包括:[0037]合并所述当前热点数据块和与所述当前热点数据块相邻的数据块为一个新的热点数据块,并将所述一个新的热点数据块作为调整后的当前热点数据块[0038]根据第一方面、第一方面的第二种至第八种可能的实现方式的任意一种,在第九种可能的实现方式中,在所述将调整后的当前热点数据块缓存到固态硬盘中之后,还包括:[0039]将所述调整后的当前热点数据块的下一个热点数据块作为当前热点数据块,并执行所述确定是否调整当前热点数据块的大小的步骤。

      [0040]根据第一方面、第一方面的第二种至第八种可能的实现方式的任意一种,在第十种可能的实现方式中,在所述调整所述当前热点数据块的大小之后,还包括:[0041]将所述调整后的当前热点数据块作为当前热点数据块,并执行所述确定是否调整当前热点数据块的大小的步骤[0042]根据第一方面、第一方面的第二种至第十种可能的实现方式的任意一种,在第十一种可能的实现方式中,还包括:[0043]若确定不调整当前热点数据块的大小,则将当前热点数据块缓存到固态硬盘中,并将当前热点数据块的下一个热点数据块作为当前热点数据块,并执行所述确定是否调整当前热点数据块的大小的步骤[0044]第二方面,本发明实施例提供一种数据块缓存装置,包括:[0045]调整确定模块,用于确定是否调整当前热点数据块的大小;[0046]热点数据块调整模块,用于若确定调整所述当前热点数据块的大小,则调整所述当前热点数据块的大小;[0047]数据块缓存模块,用于将调整后的当前热点数据块缓存到固态硬盘中[0048]在第二方面的第一种可能的实现方式中,所述调整确定模块,具体用于根据所述当前热点数据块的大小、所述当前热点数据块的下一个热点数据块的大小和所述当前热点数据块与所述下一个热点数据块之间的一个冷数据块的大小,确定是否调整所述当前热点数据块的大小。

      [0049]根据第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述调整确定模块,具体用于根据所述当前热点数据块的大小a和所述一个冷数据块的大小c计算第一比值X,以及根据所述下一个热点数据块的大小b和所述一个冷数据块的大小c计算第 CQ二比值y,其中,x=7,若第一比值X小于等于第一门限值或所述第二比值I小于等于第二门限值,则确定调整所述当前热点数据块的大小[0050]根据第二方面的第一种可能的实现方式,在第三种可能的实现方式中,所述调整确定模块,具体用于根据所述当前热点数据块的大小a、所述下一个热点数据块的大小b和所述一个冷数据块的大小c计算第三比值z,其中,z=^ ?若第三比值z小于等于第三门 9限值,则确定调整所述当前热点数据块的大小[0051]根据第二方面的第一种可能的实现方式,在第四种可能的实现方式中,所述调整确定模块,具体用于根据所述当前热点数据块的大小a、所述下一个热点数据块的大小b和所述一个冷数据块的大小c计算第四比值q,其中,.若第四比值q小于等于第四 'I门限值,则确定调整所述当前热点数据块的大小[0052]根据第二方面的第二种至第四种可能的实现方式的任意一种,在第五种可能的实现方式中,所述热点数据块调整模块,具体用于合并所述当前热点数据块、所述下一个热点数据块和所述一个冷数据块为一个新的热点数据块,并将所述一个新的热点数据块作为调整后的当前热点数据块。

      [0053]根据第二方面,在第六种可能的实现方式中,所述调整确定模块,具体用于确定所述当前热点数据块的相邻的数据块是否为热点数据块;若确定所述当前热点数据块的相邻的数据块为热点数据块,则确定调整当前热点数据块的大小;[0054]所述热点数据块调整模块,具体用于合并所述当前热点数据块和所述当前热点数据块的相邻的数据块为一个新的热点数据块,并将所述一个新的热点数据块作为调整后的当前热点数据块[0055]根据第二方面,在第七种可能的实现方式中,所述调整确定模块,具体用于根据输入输出设备访问的数据的大小的平均值和所述当前热点数据块的大小,确定是否调整当前热点数据块的大小;若所述当前热点数据块的大小小于所述平均值,则确定调整所述当前热点数据块的大小;[0056]所述热点数据块调整模块,具体用于向后补齐所述当前热点数据块为一个新的热点数据块,以使所述一个新的热点数据块的大小等于所述平均值,并将所述一个新的热点数据块作为调整后的当前热点数据块[0057]根据第二方面,在第八种可能的实现方式中,所述调整确定模块,具体用于统计与所述当前热点数据块相邻的两个数据块被输入输出设备访问的次数;若与所述当前热点数据块相邻的数据块被输入输出设备访问的次数大于等于1,则确定调整当前热点数据块的大小;[0058]所述热点数据块调整模块,具体用于合并所述当前热点数据块和与所述当前热点数据块相邻的数据块为一个新的热点数据块,并将所述一个新的热点数据块作为调整后的当前热点数据块 。

      [0059]根据第二方面、第二方面的第二种至第八种可能的实现方式的任意一种,在第九种可能的实现方式中,所述调整确定模块,还用于在所述将调整后的当前热点数据块缓存到固态硬盘中之后,将所述调整后的当前热点数据块的下一个热点数据块作为当前热点数据块,并执行所述确定是否调整当前热点数据块的大小的步骤[006。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.