[发明专利]一种置换和回写自适应的缓冲区管理方法有效
申请号: | 201810276887.5 | 申请日: | 2018-03-30 |
公开(公告)号: | CN108845957B | 公开(公告)日: | 2020-10-09 |
发明(设计)人: | 姚英彪;周杰;颜明博 | 申请(专利权)人: | 杭州电子科技大学 |
主分类号: | G06F12/02 | 分类号: | G06F12/02;G06F12/0866 |
代理公司: | 浙江千克知识产权代理有限公司 33246 | 代理人: | 周希良 |
地址: | 310018 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 置换 自适应 缓冲区 管理 方法 | ||
1.一种置换和回写自适应的缓冲区管理方法,
所述缓冲区划分为缓存块记录表、写缓冲区和读缓冲区;
所述缓存块记录表用于记录同属一个逻辑数据块的数据页在缓冲区的位置信息,所述写缓冲区用于缓存响应写请求而被修改过的数据页,所述读缓冲区用于缓存仅响应读请求而未被修改的数据页;其特征在于,
所述管理方法包括以下步骤:
S1,当访问请求到来,查询缓存块记录表是否包含请求对应的缓存块信息,若存在,执行S2,否则,执行S4;
S2,查询缓存块记录表中是否存在指向请求数据页的位置指针,若存在,则执行S3,否则,执行S5;
S3,将命中数据页迁移到相应缓冲区的MRU位置,MRU指最近访问端;更新对应缓存块记录表中的位置指针列表;之后执行S8;
S4,向缓存块记录表中添加对应的记录块信息,同时初始化该记录块的所有信息,之后执行S5;
S5,判定当前缓冲区是否满;若满,执行S6,否则,执行S7;
S6,比较读缓冲区与目标阈值Tau的大小;若大于,则选择读缓冲区的LRU位置的数据页剔除,否则,选择写缓冲区的LRU位置的数据页作为剔除项并执行自适应聚簇回写;更新剔除数据页对应的记录块信息,之后执行S7;
S7,将缺失的请求数据页加载入对应的缓冲区,同时将指向该数据页的位置指针添加至对应的缓存块记录表的位置指针列表中,并更新对应的记录块信息;之后执行S8;
S8,启动置换策略阈值调整机制,对阈值Tau进行调整;最后,结束本次请求的处理。
2.根据权利要求1所述的置换和回写自适应的缓冲区管理方法,其特征在于,
所述读缓冲区和写缓冲区采用LRU管理队列,当缓冲区命中请求和加载新数据页时,将命中请求和加载新数据页迁移到队列的MRU位置。
3.根据权利要求1所述的置换和回写自适应的缓冲区管理方法,其特征在于,
所述缓存块记录表中,一个记录块的信息包含:缓存块编号BlkNum、缓冲区中同属该记录块的数据页个数BlkSize、同属该记录块的干净页位置指针列表C-list-index、同属该记录块的脏页位置指针列表D-list-index。
4.根据权利要求3所述的置换和回写自适应的缓冲区管理方法,其特征在于,
所述步骤S3中,更新对应缓存块记录表中的位置指针列表具体为:
从C-list-index或D-list-index列表中剔除指向该迁移数据页的旧位置指针,之后判断迁入位置,若迁入读缓冲区,则将位置指针存入对应的缓存块中C-list-index;否则,将数据页的位置指针存入记录块中的D-list-index。
5.根据权利要求3所述的置换和回写自适应的缓冲区管理方法,其特征在于,
所述步骤S6中,所述更新剔除数据页对应的记录块信息,具体为:
从C-list-index或D-list-index列表中找到指向该剔除数据页的旧位置指针并剔除,并更新对应的记录块的BlkSize=BlkSize-1。
6.根据权利要求3所述的置换和回写自适应的缓冲区管理方法,其特征在于,
所述步骤S7中,所述将指向该数据页的位置添加至对应的缓存块记录表的位置指针列表中,并更新对应的记录块信息,具体为:
判断请求类型,若为读请求,则将新添加数据页的位置指针存入对应的缓存记录块中C-list-index;否则,将数据页的位置指针存入记录块中的D-list-index,之后更新对应的记录块的BlkSize=BlkSize+1。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州电子科技大学,未经杭州电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810276887.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:应用程序测试的方法和装置
- 下一篇:一种交织器映射和动态内存管理系统及方法