[发明专利]一种基于数据资源转化效率模型的缓存方法在审
| 申请号: | 201910502646.2 | 申请日: | 2019-06-11 |
| 公开(公告)号: | CN110309180A | 公开(公告)日: | 2019-10-08 |
| 发明(设计)人: | 邓玉辉;艾亮 | 申请(专利权)人: | 暨南大学 |
| 主分类号: | G06F16/2455 | 分类号: | G06F16/2455;G06F16/25;G06F16/21 |
| 代理公司: | 广州市华学知识产权代理有限公司 44245 | 代理人: | 陈燕娴 |
| 地址: | 510632 广东*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 热数据 缓存 数据资源 转化效率 数据流 缓存策略 频率指标 计算机存储 数据缓存 进度 时间段 算法 重用 宏观 加深 | ||
1.一种基于数据资源转化效率模型的缓存方法,其特征在于,该缓存方法将缓存区域划分为新数据区域N、短重用距离热数据区域S、长重用距离热数据区域L和数据临时放置区域T,缓存区域中数据块类型分为贮存数据块R和元数据历史块H,其中,所述的贮存数据块R用于真实数据块信息,所述的元数据历史块H用于存储记载真实数据块的地址的元数据信息;同时,所述的短重用距离热数据区域S中贮存数据块按照数据的重用距离特征分为短重用距离贮存数据块SR和长重用距离贮存数据块LR;所述的新数据区域N存储的数据块类型仅有贮存数据块R,其存储的是新访问的数据块;所述的短重用距离热数据区域S存储的数据块类型有短重用距离贮存数据块SR、长重用距离贮存数据块LR和元数据块历史块H;所述的长重用距离热数据区域L存储的数据块类型有贮存数据块R和元数据历史块H;数据临时放置区域T存储的数据块类型仅有贮存数据块R;
该缓存方法针对负载数据流中不同类型数据进行缓存分配的步骤如下:
S1、当缓存满时,对于负载数据流中的每一个读请求或者写请求,有且仅有以下五种情况发生:A.新数据区域N中数据栈命中;B.短重用距离热数据区域S中数据栈命中;C.长重用距离热数据区域L中数据栈命中;D.数据临时放置区域T中数据栈命中;E.缓存未命中,针对以上情况,当满足A时,则执行步骤S2;当满足B时,则执行步骤S3;当满足C时,则执行步骤S4;当满足D时,则执行步骤S5;当满足E时,则执行步骤S6;
S2、当发生新数据区域N中数据栈命中时,首先检查短重用距离热数据区域S中数据栈是否存储有该命中数据对应的元数据块历史块H,如果有,则删除这个元数据历史块;其次检查短重用距离热数据区域S中数据栈的数据个数是否小于参数Smax,Smax为短重用距离热数据区域S的最大区域数据数量,如果短重用距离热数据区域S中数据栈的数据个数等于参数Smax,则对短重用距离热数据区域S中数据栈的尾部数据做不申请贮存数据空间的迁移处理操作;最后将该命中数据从新数据区域N中数据栈迁移至短重用距离热数据区域S中数据栈的首部;
S3、当发生短重用距离热数据区域S中数据栈命中时,针对该命中数据块的类型做不同的处理,如果是元数据历史块H,则先删除该元数据历史块,然后做申请贮存数据空间操作,最后将该数据以短重用距离贮存数据块SR的形式存储在短重用距离热数据区域S中数据栈的首部;如果是短重用距离贮存数据块SR,则将该命中数据块迁移至短重用距离热数据区域S中数据栈的首部;如果是长重用距离贮存数据块LR,则也只将该命中数据块迁移至短重用距离热数据区域S中数据栈的首部;
S4、当发生长重用距离热数据区域L中数据栈命中时,针对该命中数据块的类型做不同的处理,如果是元数据历史块H,首先检查栈短重用距离热数据区域S中数据栈的数据个数是否小于参数Smax,若短重用距离热数据区域S中数据栈的数据个数小于参数Smax,则做申请贮存数据空间操作,否则若短重用距离热数据区域S中数据栈的数据个数等于参数Smax,则对短重用距离热数据区域S中数据栈的尾部数据做申请贮存数据空间的迁移处理操作,最后将该命中数据以长重用距离贮存数据块LR的形式存储至短重用距离热数据区域S中数据栈的首部;如果是贮存数据块R,首先检查短重用距离热数据区域S中数据栈的数据个数是否小于参数Smax,若短重用距离热数据区域S中数据栈的数据个数小于参数Smax,则将该命中数据以迁移至短重用距离热数据区域S中数据栈的首部,同时如果该命中数据之前是处在长重用距离热数据区域L中数据栈的尾部,做数据栈剪枝操作,若短重用距离热数据区域S中数据栈的数据个数等于参数Smax,首先对短重用距离热数据区域S中数据栈的尾部数据做不申请贮存数据空间的迁移处理操作,再将该命中数据以长重用距离贮存数据块LR的形式存储至短重用距离热数据区域S中数据栈的首部,同时如果该命中数据之前是处在长重用距离热数据区域L中数据栈的尾部,做数据栈剪枝操作;
S5、当发生数据临时放置区域T中数据栈命中时,首先检查短重用距离热数据区域S中数据栈的数据个数是否小于参数Smax,如果短重用距离热数据区域S中数据栈的数据个数等于参数Smax,则对短重用距离热数据区域S中数据栈的尾部数据做不申请贮存数据空间的迁移处理操作;最后将该命中数据从数据临时放置区域T中数据栈迁移至短重用距离热数据区域S中数据栈的首部;
S6、当缓存发生未命中时,首先检查短重用距离热数据区域S中数据栈的数据个数是否小于参数Smax,若短重用距离热数据区域S中数据栈的数据个数小于参数Smax,则做申请贮存数据空间操作,否则若短重用距离热数据区域S中数据栈的数据个数等于参数Smax,则对短重用距离热数据区域S中数据栈的尾部数据做申请贮存数据空间的迁移处理操作;最后将该新数据插入到新数据区域N中数据栈的首部,同时将该新数据的对应的元数据历史块H插入到新数据区域N中数据栈的首部。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于暨南大学,未经暨南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910502646.2/1.html,转载请声明来源钻瓜专利网。





