1 .一种基于PM的数据库页缓存方法,其特征在于,包括以下步骤,
将表文件映射到内存;
对缓存页进行区域划分;
为划分区域后的缓存页设置对应的页面描述符;
获取修改区域,并修改相应的页面描述符;
将所述修改区域的数据刷写到PM内存。
2.根据权利要求1所述的基于PM的数据库页缓存方法,其特征在于,所述对缓存页进行
区域划分的步骤,进一步包括,将每个缓存页划分为多个固定大小的区域,每个所述区域的
大小为1个缓存行。
3 .根据权利要求2所述的基于PM的数据库页缓存方法,其特征在于,划分区域后的缓存
页,其结构分为页头和页尾,其中,
所述页头,包括:
checksum:数据校验值;
lower:页内空闲空间下限;
upper:页内空闲空间上限;
linp:页内记录的指针数组;
所述页尾,包括:
prepage:前一页页号;
nextpage:后一页页号。
4 .根据权利要求1所述的基于PM的数据库页缓存方法,其特征在于,所述页面描述符,
包括,
tablespace id:表所在的表空间ID;
database id: 表所在的数据库ID;
rel id:表的ID;
page id:PM内存上数据页的页号;
cache line bitmap:标记缓存页中的修改区域。
5 .根据权利要求1所述的基于PM的数据库页缓存方法,其特征在于,所述获取修改区
域,并修改相应的页面描述符的步骤,进一步包括,
对缓存页进行修改;
将页内空闲空间上限指针指向最后一个修改记录;
将页内记录的指针数组指向所述修改记录;
获取修改区域;
将所述页面描述符标记缓存页中的修改区域对应的bit位修改为1;
将第一个区域及修改区域的下一个区域对应的bit位修改为1。
6 .根据权利要求5所述的基于PM的数据库页缓存方法,其特征在于,所述将所述改动修
改区域的数据刷写到PM内存的步骤,进一步包括,遍历所有页面描述符数组,将bit位为1的
区域刷写到PM内存。
7 .根据权利要求6所述的基于PM的数据库页缓存方法,其特征在于,进一步包括,所述
将bit位为1的区域刷写到PM内存,是以并行方式调用PMDK接口、以用户态的方式刷写到PM
权 利 要 求 书
1/2 页
2
评论