[發明專利]一種基于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.szxzyx.cn/pat/books/202010541330.7/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:筆記型計算機
- 下一篇:會員層級操作系統及其方法





