[发明专利]面向嵌入式内存数据库的非易失性内存存储方法及系统有效
申请号: | 202110200813.5 | 申请日: | 2021-02-23 |
公开(公告)号: | CN113050886B | 公开(公告)日: | 2022-09-20 |
发明(设计)人: | 李焱;杜萍;李宪睿;张逸飞;郭书宇;任心瑜 | 申请(专利权)人: | 山东师范大学 |
主分类号: | G06F3/06 | 分类号: | G06F3/06;G06F12/02;G06F9/455;G06F9/50 |
代理公司: | 济南圣达知识产权代理有限公司 37221 | 代理人: | 李琳 |
地址: | 250014 山*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 面向 嵌入式 内存 数据库 非易失性 存储 方法 系统 | ||
1.一种面向嵌入式内存数据库的非易失性内存存储方法,其特征是:包括以下步骤:
设置页面大小上限,按照设定上限对非易失性内存空间区域进行划分,利用空间链表对空闲页面进行管理;
判断分配非易失性内存空闲空间的请求中,请求的空间是否大于设定上限,如果是,从空间链表中直接分配相对应数量的连续的空闲块,并调整空闲链表中的基本信息;
如果不是,利用分配器配合页面掩码进行分配;
NVMSQLite的体系结构分为前端解析系统和后端引擎两个部分;
前端解析系统包含三个模块,分别为分词器、解析器、代码生成器,对应用程序传递过来的字符串进行处理,对其中包含的SQL语句和命令进行分析、优化和转换,最终将其变为虚拟机能够执行的内部编码;
后引擎由虚拟机、B-Tree、页缓存和操作系统接口构成,其中虚拟机位于核心位置,为NVMSQLite的引擎,用来解释执行前端解析系统生成的内部编码;
NVMSQLite的数据库运行在非易失性内存上,操作系统接口面向非易失性内存。
2.如权利要求1所述的一种面向嵌入式内存数据库的非易失性内存存储方法,其特征是:还包括根据存储空间释放量或定时进行空间回收,将完全空的已用页面插入空闲链表中。
3.如权利要求2所述的一种面向嵌入式内存数据库的非易失性内存存储方法,其特征是:进行空间回收的具体方法为在页面上配置位图标志位,标志位为第一状态时,表示该位置为空,判断对应页面的所有标志位是否全为第一状态,如果是,则将该页面插入空闲链表中。
4.如权利要求1所述的一种面向嵌入式内存数据库的非易失性内存存储方法,其特征是:所述非易失性内存空间区域包括非易失性内存元数据存储区、元数据存储区和数据库存储区。
5.如权利要求4所述的一种面向嵌入式内存数据库的非易失性内存存储方法,其特征是:在所述元数据存储区中,划出一部分区域为日志区域,进行一步操作时,该操作作为一个条目记录在日志里面,同时存储一个日志指针,所述指针指向日志中当前操作的条目,指针所指之前地日志条目指代的操作全部失效,每完成一步操作,往后挪一步指针;当日志区域全部用完时,指针从头开始。
6.如权利要求1所述的一种面向嵌入式内存数据库的非易失性内存存储方法,其特征是:利用分配器配合页面掩码进行分配时,首先判断分配器里面的空闲空间是否能满足要求,如果不能满足要求,从空闲页面链表中获取一个设定上限大小的物理页给分配器,然后再分配。
7.如权利要求1所述的一种面向嵌入式内存数据库的非易失性内存存储方法,其特征是:利用分配器配合页面掩码进行分配时,设置最细粒度,所述页面掩码的结构中,每个元素对应一个物理页,存放该页面的空间使用情况,每个元素是一个位图。
8.如权利要求7所述的一种面向嵌入式内存数据库的非易失性内存存储方法,其特征是:每从一个页面分配最细粒度字节,页码掩码中对应的位置为第二状态;每从某个页面释放最细粒度字节,页面掩码中对应的位置为第一状态。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东师范大学,未经山东师范大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110200813.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:土壤石油污染检测的土壤气取样装置及取样方法
- 下一篇:全自动皮肤修片机