[发明专利]一种基于PM的数据库页缓存方法及系统在审
申请号: | 202010541330.7 | 申请日: | 2020-06-15 |
公开(公告)号: | CN113655949A | 公开(公告)日: | 2021-11-16 |
发明(设计)人: | 闫宗帅;屠要峰;陈河堆;郭斌;黄震江;韩银俊;解海波;王涵毅 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06;G06F12/0882 |
代理公司: | 北京德崇智捷知识产权代理有限公司 11467 | 代理人: | 王斌 |
地址: | 518000 广东省深圳市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 pm 数据库 缓存 方法 系统 | ||
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内存,进行刷盘持久化。
8.根据权利要求1所述的基于PM的数据库页缓存方法,其特征在于,进一步包括,持久化刷盘完成后,将页面描述符中bitmap表清0。
9.一种基于PM的数据库页缓存系统,其特征在于,包括,PM内存、DRAM内存、区域划分模块、页面描述模块,以及磁盘刷写模块,其中,
所述PM内存,其用于存储表文件;
所述DRAM内存,其存储缓存页及页面描述符,并根据所述磁盘刷写模块指令,将修改的区域刷写到所述PM内存;
所述区域划分模块,其对缓存页进行区域划分;
所述页面描述模块,其为缓存页设置对应的页面描述符;
所述磁盘刷写模块,其对所述DRAM内存进行控制,将修改的区域刷写到所述PM内存中,进行持久化刷盘。
10.根据权利要求9所述的基于PM的数据库页缓存系统,其特征在于,所述区域划分模块,将每个缓存页划分成多个大小为1个缓存行的区域;所述缓存页的结构分为页头和页尾,其中,
所述页头,包括:
checksum:数据校验值;
lower:页内空闲空间下限;
upper:页内空闲空间上限;
linp:页内记录的指针数组;
所述页尾,包括:
prepage:前一页页号;
nextpage:后一页页号。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010541330.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:笔记型计算机
- 下一篇:会员层级操作系统及其方法