[发明专利]嵌入式内存数据库的内存页面管理调度方法有效
申请号: | 201110447991.4 | 申请日: | 2011-12-27 |
公开(公告)号: | CN102402622A | 公开(公告)日: | 2012-04-04 |
发明(设计)人: | 寇立涛;杨经正;陈东;李恒;刘建立 | 申请(专利权)人: | 北京人大金仓信息技术股份有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06F12/02 |
代理公司: | 北京汲智翼成知识产权代理事务所(普通合伙) 11381 | 代理人: | 陈曦;郭亚芳 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 嵌入式 内存 数据库 页面 管理 调度 方法 | ||
1.一种嵌入式内存数据库的内存页面管理调度方法,所述内存数据库的内存空间划分成以页为单位的多个块,且每个页的大小与数据库磁盘文件页的大小完全相同,每个磁盘文件页与内存页建立映射,其特征在于包括以下步骤:
步骤1:系统获取要读写的数据库文件的偏移量,并进行偏移量与页号映射;
步骤2:检测是否有哈希冲突,如果有则进行相应的哈希冲突解决处理;如果没有则进入下一步骤;
步骤3:检查内存中是否有可以装载数据的页面
如果没有则根据页面调度算法从内存中选择出可以数据交换的内存页;如果有则进入下一步骤;
步骤5:将新的数据内容写到内存页中。
2.如权利要求1所述的嵌入式内存数据库的内存页面管理调度方法,其特征在于:
在步骤1中根据文件偏移量计算得到的哈希值作为哈希数组的下标,通过该项的值得到文件偏移量对应的缓冲区页。
3.如权利要求1所述的嵌入式内存数据库的内存页面管理调度方法,其特征在于:
步骤2中通过文件偏移地址计算出对应的哈希值,通过此哈希值获得对应页的一个冲突链表,如果此链表不为空并且链表中没有一项的偏移地址与要装载页的偏移地址相同,判定为检测到哈希冲突。
4.如权利要求1所述的嵌入式内存数据库的内存页面管理调度方法,其特征在于:
步骤2中包括以下步骤:检查当前页的文件偏移地址域是否与文件偏移量相同,如相同则说明当前页即为已载入的文件偏移地址所在的页;否则按页的冲突域查找冲突链中的下一个页;当下一页的冲突域的值为0,说明是冲突页链的最后一个;如果页的文件偏移地址域与要访问的偏移地址仍然不同,说明要访问的偏移地址所在的页没有载入。
5.如权利要求3所述的嵌入式内存数据库的内存页面管理调度方法,其特征在于:
哈希冲突解决处理是指分配新内存页,将新内存页作为冲突链表的第一个节点,并且让当前查找的哈希数组项指向新页的页号。
6.如权利要求4所述的嵌入式内存数据库的内存页面管理调度方法,其特征在于:
如果当前哈希值已被此磁盘文件页使用,则不用重新加载。
7.如权利要求6所述的嵌入式内存数据库的内存页面管理调度方法,其特征在于:
步骤3中,如果检查到没有空白页,则启动页面调度算法获得一空白页;将偏移量所在磁盘页数据写入此空白内存页,更新此空白页结构;然后更新哈希表,将哈希表当前页对应的项的值更新为此空白页的页号。
8.如权利要求7所述的嵌入式内存数据库的内存页面管理调度方法,其特征在于:
步骤3中,如果检查到有空白页,则从空白页链表中取出一页,假设页号为X,空闲页链表头指向下一个空白页;将偏移量所在磁盘页数据写入内存页X,更新page[X]数组;然后更新哈希表,将哈希表当前页对应的项的值更新为X。
9.如权利要求3所述的嵌入式内存数据库的内存页面管理调度方法,其特征在于还包括页面替换步骤:
将最久未被使用的空闲页从链表中删除;如果该页的内容发生改变,将该页的内容写回磁盘;装载新数据,更新哈希值;清除失效的哈希表的值。
10.如权利要求1所述的嵌入式内存数据库的内存页面管理调度方法,其特征在于
步骤3和步骤5之间还包括步骤4:根据页的使用情况决定内存页的数据库是否需要写回磁盘,并进入下一步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京人大金仓信息技术股份有限公司,未经北京人大金仓信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110447991.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:种齿座与斗齿的配合结构
- 下一篇:一种双座位婴儿车上座位车架结构