[发明专利]基于增量式闭合序列挖掘的高速缓存数据预取方法无效
| 申请号: | 200810059854.1 | 申请日: | 2008-02-22 |
| 公开(公告)号: | CN101266578A | 公开(公告)日: | 2008-09-17 |
| 发明(设计)人: | 陈刚;蔡铭;李山亭 | 申请(专利权)人: | 浙江大学 |
| 主分类号: | G06F12/08 | 分类号: | G06F12/08;G06F17/30 |
| 代理公司: | 杭州求是专利事务所有限公司 | 代理人: | 林怀禹 |
| 地址: | 310027浙*** | 国省代码: | 浙江;33 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 增量 闭合 序列 挖掘 高速缓存 数据 方法 | ||
1.一种基于增量式闭合序列挖掘的高速缓存数据预取方法,其特征在于:是用于存储系统的高速缓存数据预取模块中的数据预取步骤中的,通过采集CPU向内存请求的数据存取序列,将其转换为序列输入数据库,采用增量式闭合序列挖掘算法挖掘频繁闭合序列,提取出高速缓存数据预取规则,用于指导高速缓存的数据预取,提高高速缓存的命中率;
(1)采集CPU访问内存存取序列:实时记录CPU请求访问的文件系统中的逻辑块号组成的序列,每一个文件系统的逻辑块号为序列中的一个项目;
(2)预处理:处理步骤(1)得到的CPU访问内存存取序列,将步骤(1)得到的CPU访问内存存取序列划分为固定长度的序列,此序列为一个窗口,此序列长度为窗口大小,一个窗口作为一条输入序列,存入输入序列数据库中;
(3)训练:对步骤(2)得到的序列输入数据库采用增量式的闭合序列挖掘方法进行挖掘得到频繁闭合序列集合,每当步骤(2)有新的输入序列时,在已有的闭合序列挖掘的结果基础上,结合新增输入序列,增量式挖掘新的频繁闭合序列模式集合;
(4)规则生成:对步骤(3)得到的频繁闭合序列进行分解得到所蕴含的所有规则,并通过规则评估函数对规则进行评估,去除不符合要求的规则,最后得到高效的用于高速缓存数据预取的指导规则。
2.根据权利要求1所述的一种基于增量式闭合序列挖掘的高速缓存数据预取方法,其特征在于:步骤(2)设置一个计数器,初始值为零,步骤(1)每采集一个项目,计数器增加1,当计数器值等于窗口大小时,把步骤(1)采集得到的序列作为一条记录存入序列输入数据库中,并清除步骤(1)的记录,计数器重置为0,取下一条存入序列输入数据库的记录,如此循环下去;
3.根据权利要求1所述的一种基于增量式闭合序列挖掘的高速缓存数据预取方法,其特征在于:步骤(3)对步骤(2)得到的序列输入数据库,简称为SDB采用增量式的闭合序列挖掘方法进行挖掘得到频繁闭合序列集合的具体步骤如下:
(A)设置最小支持阈值的初始值,最小支持阈值简称为min_sup,设置TreeOld为空,TreeNew为空,TreeOld和TreeNew均为一棵闭合序列树,TreeOld为上一次挖掘的闭合序列树,TreeNew存储本次挖掘结果的闭合序列树;
(B)计算SDB基于min_sup,长度为1的频繁序列,记为1-sequence;
(C)计算步骤(B)得到的1-sequence的伪投影数据库,一个1-sequence记为f1,其伪投影数据库记为SDBf1;
(D)如果步骤(B)得到的所有的1-sequence都处理完了,结束,否则取步骤(B)得到的一个未处理的f1,判断此时TreeOld是否有效,如果有效并且f1仅被旧输入串数据库所包含,不被新增输入串所包含,继续执行,否则执行步骤(F);
(E)如果以f1为路径的节点在TreeOld中存在,将该节点从TreeOld中摘下,加入到TreeNew中,把该f1标记为已处理,返回步骤(D);
(F)使用频繁闭合序列挖掘算法Bide中的BackScan算法考察f1是否被其他已经挖掘的序列所包含,如果不包含,继续执行,如果包含了,无需冗余挖掘,把f1标记为已处理,返回步骤(D);
(G)创建新的闭合序列树节点Pnode,Pnode.i=f1,Pnode.supi=-1,这里的“=”是计算机程序设计中的赋值符号,使用Bide算法中的backward extension check方法计算f1的BEI值;
(H)此时记f1为Sp,记SDBf1为Sp_SDB,记Pnode为pparent,记treenew为pparent_parent,pparent表示上次迭代的树节点,pparent_parent表示更上一次迭代的树节点;
(I)计算Sp_SDB基于min_sup的本地频繁项集合,记为LFI;
(J)计算LFI中本地频繁项中支持度等于Sp支持度的个数,记为FEI;
(K)如果LFI中所有的本地频繁项都已经处理过了,执行步骤(P),否则取LFI中的一个未处理的本地频繁项Li,将Sp和Li连接,记为Sp_i,计算Sp_i的对于Sp_SDB的伪投影数据库,记为SDBSp_i;
(L)判断此时TreeOld是否有效,如果有效并且Sp_i仅被旧输入串数据库所包含,不被新增输入串所包含,继续执行,否则执行步骤(N);
(M)如果以Sp_i为路径的节点在TreeOld中存在,将该节点从TreeOld中摘下,加入到pparent中,把Sp_i对应本地频繁项Li标记未处理过,返回步骤(K);
(N)使用频繁闭合序列挖掘算法Bide中的BackScan算法考察Sp_i是否有其他序列包含它,如果不包含,继续执行,如果包含了,无需冗余挖掘,把Sp_i对应本地频繁项Li标记未处理过,返回步骤(K);
(O)创建新的闭合序列树节点Pnodenew,Pnodenew.i=Sp_i,使用Bide算法中的backward extension check方法计算Sp_i的BEI值,令Sp的值等于Sp_i,Sp_SDB的值等于SDBSp_i,pparent_parent的值等于pparent,pparent的值等于Pnodenew,返回步骤(I);
(P)如果BEI和FEI都为零并且pparent的孩子节点非空,说明pparent是频繁闭合序列的一个项目,令pparent.supi=Sp的支持值,把pparent加到pparent_parent节点下,返回步骤(D);
4.根据权利要求1所述的一种基于增量式闭合序列挖掘的高速缓存数据预取方法,其特征在于:步骤(4)对步骤(3)得到的频繁闭合序列进行分解得到所蕴含的所有规则,当规则评估函数值大于最小可信值时,此规则为有效规则,用于指导高速缓存数据预取。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810059854.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:柱塞泵油封装入工具
- 下一篇:一种精细静电纺纤维接收装置





