[发明专利]一种利用位图对内存数据库空间进行管理的方法有效
申请号: | 200810216191.X | 申请日: | 2008-09-18 |
公开(公告)号: | CN101676906A | 公开(公告)日: | 2010-03-24 |
发明(设计)人: | 丁奇鹏;印和平;卢勤元;常二鹏 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06F12/02 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 518057广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 利用 位图 内存 数据库 空间 进行 管理 方法 | ||
技术领域
本发明涉及内存数据库系统的管理方法,尤其涉及一种利用位图对内 存数据库空间进行高效管理的方法。
背景技术
传统的数据库管理系统把所有数据都放在磁盘上进行管理,所以称做 磁盘数据库。磁盘数据库需要频繁地访问磁盘来进行数据的操作,由于对 磁盘读写数据的操作一方面要进行磁头的机械移动,另一方面受到系统调 用时间的影响,当数据量很大,操作频繁且复杂时,就会暴露出很多问题。
近年来,内存容量不断提高,价格不断下跌,计算机进入了64位时代 后,操作系统已经可以支持更大的地址空间,同时业界对数据库系统实时 响应能力要求日益提高,充分利用内存技术提升数据库性能成为数据库领 域一个重要的发展方向。
在数据库技术中,目前主要有两种方法来使用大量的内存。一种是在 传统的数据库中,增大缓冲池,将一个事务所涉及的数据都放在缓冲池中, 组织成相应的数据结构来进行查询和更新处理,也就是常说的共享内存技 术,这种方法优化的主要目标是最小化磁盘访问。另一种就是内存数据库 技术,就是重新设计一种新的数据库管理系统,对查询处理、并发控制与 恢复的算法和数据结构进行重新设计,以更有效地使用CPU和内存,这种 技术把整个数据库放进内存中,因而会产生一些根本性的变化。
内存数据库系统带来的优越性能不仅仅在于对内存读写比对磁盘读写 快上,更重要的是,从根本上抛弃了磁盘数据管理的许多传统方式,基于 全部数据都在内存中管理进行了新的体系结构的设计,并且在数据缓存、 索引算法、并行操作方面也进行了相应的改进,从而使数据处理速度比传 统数据库的数据处理速度快若干数量级。
通过以上介绍可以了解到,内存数据库完全工作于内存中,如何充分 而高效地管理庞大的内存空间就成为内存数据库设计中一个极其重要的问 题。
在一个性能良好的数据库系统中,内存一定是分页(即page;有些系 统称之为块,block)使用的,页的大小可以是4k,8k,16k,32k......等等。使 用分页管理的好处是可以取得一个比较适中的度量单位,在兼顾灵活性和 易管理性的前提下同时满足极少量或者海量的内存需求,既不浪费空间又 不增加管理上的负担。
传统的页管理模式是完全基于链表的,按照页的当前状态(空闲、已 占用等)划分成若干链表。类似地,在页内按照记录的不同状态也划分成 若干链表。页和记录的分配与回收都依靠链表操作。
这种完全依赖于链表的管理方式有很大的缺陷:
1、链表本身的性质决定了对链表的读写操作都需要加锁,多个线程不 能同时读写链表,这将导致线程等待。在多任务数据库系统中,链表锁的 争用将成为系统的重要瓶颈。并且管理的空间越大,链表就越长,争用越 严重,整体空间管理效率就越低。
2、大量的链表结构耗费了很大内存空间,降低了内存空间的利用率, 并且空间越大,浪费越多。
3、对大量链表进行管理的逻辑非常复杂,大大降低了整个系统的可靠 性与可维护性。
因而,现有技术还有待于改进和提高。
发明内容
本发明的目的在于解决以上全链表式管理中存在的问题,提出一种新 的对内存数据库空间进行管理的方法,实现控制数据页和记录的分配和回 收。
本发明的技术方案包括:
一种利用位图对内存数据库空间进行管理的方法,内存空间按照页划 分为多个数据页,其中,包括在系统内存区内的以下操作步骤:
A、建立一级位图区,其中,所述一级位图区位于所述系统内存区的特 定位图区,所述一级位图区为所述多个数据页中的每个数据页分配若干bit, 用于记录该数据页的状态;
B、建立一级位图区辅助链表,其中所述辅助链表的每一个节点对应所 述一级位图区的至少一个所述若干bit;
C、建立二级位图区,其中,所述二级位图区位于所述多个数据页中的 每个数据页的特定位图区,所述二级位图区为该页中的每个记录分配一定 bit,用于保存该记录的状态;
D、分配所述多个数据页中的一个数据页;
E、分配该页中的一个记录;
F、释放所述一个记录;
G、释放所述一个数据页。
所述的方法,其中,所述的步骤A包括:
按照系统需要管理的总内存区大小开辟所述一级位图区并全部初始化 为未分配状态。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810216191.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种实现移动终端开机时快速加载信息的方法
- 下一篇:病毒检测的方法及系统