[发明专利]缓存的处理方法和装置有效
申请号: | 201410784834.6 | 申请日: | 2014-12-16 |
公开(公告)号: | CN104503703B | 公开(公告)日: | 2018-06-05 |
发明(设计)人: | 李明君 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06;G06F11/14 |
代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 杨贝贝;黄健 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 大数据块 缓存镜像 存储空间 小数据 缓存 写入 方法和装置 预设 替换 读取 存储空间已满 占用 老化 输出 检查 | ||
1.一种缓存的处理方法,其特征在于,包括:
接收读输入输出IO请求,并根据所述读IO请求,从父镜像中读取小数据块;
若包含所述小数据块的第一大数据块不在缓存镜像中,则检查所述缓存镜像的存储空间是否已满或者所述存储空间的占用比例是否大于或者等于预设比例阈值;
若所述缓存镜像的存储空间已满或者所述存储空间的占用比例大于或者等于所述预设比例阈值,则将所述第一大数据块替换所述缓存镜像中的第二大数据块,并将所述小数据块写入所述缓存镜像中所述第一大数据块对应的存储空间,所述第二大数据块为老化的大数据块。
2.根据权利要求1所述的方法,其特征在于,所述从父镜像中读取小数据块之后,所述方法还包括:
将包含所述小数据块的第一大数据块的访问计数值加1;
则在所述若包含所述小数据块的第一大数据块不在缓存镜像中,则检查所述缓存镜像的存储空间是否已满或者所述存储空间的占用比例是否大于或者等于预设比例阈值之前,所述方法还包括:
将所述第一大数据块的标识和对应的访问计数值写入管理链表。
3.根据权利要求2所述的方法,其特征在于,还包括:
若所述缓存镜像的存储空间未满或者所述存储空间的占用比例小于所述预设比例阈值,则将所述第一大数据块加入所述缓存镜像,并将所述小数据块写入所述缓存镜像中所述第一大数据块对应的存储空间。
4.根据权利要求2所述的方法,其特征在于,所述将所述第一大数据块替换所述缓存镜像中的第二大数据块,并将所述小数据块写入所述缓存镜像中所述第一大数据块对应的存储空间,具体包括:
根据所述第一大数据块的访问计数值,从所述管理链表的表头位置开始依次查找,获取所述第二大数据块,将所述第二大数据块的标识和访问计数值从所述管理链表中移除,并将所述第一大数据块的标识和访问计数值写入所述管理链表中第三大数据块的标识之前;其中,所述第二大数据块为在所述管理链表中,访问计数值小于或者等于第一大数据块的访问计数值的第一个数据块;所述第三大数据块为删除了所述第二大数据块的标识后的管理链表中,访问计数值大于或者等于所述第一大数据块的访问计数值的第一个数据块;
在块分配表BAT中将第二大数据块对应的位置标记失效,并将所述第一大数据块的起始偏移位置存储到BAT中的第一大数据块对应的位置;其中,所述第一大数据块的起始偏移位置为所述第二大数据块的起始偏移位置;
将所述小数据块写入所述缓存镜像中所述第一大数据块的起始偏移位置对应的存储空间。
5.根据权利要求3所述的方法,其特征在于,所述将所述第一大数据块加入所述缓存镜像,并将所述小数据块写入所述缓存镜像中所述第一大数据块对应的存储空间,具体包括:
根据所述第一大数据块的访问计数值,将所述第一大数据块的标识和访问计数值写入所述管理链表中;
在所述缓存镜像中查找到一个空闲块,并将所述小数据块写入所述空闲块;其中,所述空闲块为所述第一大数据块对应的存储空间;
将所述空闲块的起始偏移位置写入BAT中所述空闲块对应的位置。
6.根据权利要求2所述的方法,其特征在于,若所述第一大数据块在缓存镜像中,则根据所述访问计数值,在所述管理链表中更新所述第一大数据块的标识所在的位置和所述访问计数值,并将所述小数据块写入所述缓存镜像中第一大数据块对应的存储空间。
7.一种缓存的处理装置,其特征在于,包括:
读取模块,用于接收读输入输出IO请求,并根据所述读IO请求,从父镜像中读取小数据块;
检查模块,用于若包含所述小数据块的第一大数据块不在缓存镜像中,则检查所述缓存镜像的存储空间是否已满或者所述存储空间的占用比例是否大于或者等于预设比例阈值;
处理模块,用于若所述缓存镜像的存储空间已满或者所述存储空间的占用比例大于或者等于所述预设比例阈值,则将所述第一大数据块替换所述缓存镜像中的第二大数据块,并将所述小数据块写入所述缓存镜像中所述第一大数据块对应的存储空间,所述第二大数据块为老化的大数据块。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410784834.6/1.html,转载请声明来源钻瓜专利网。