论文部分内容阅读
随着3G技术的逐渐成熟,B3G技术开始研发,无线传输能力越来越强。用户可利用智能手机、PDA等移动设备,通过无线技术连接到网络,可随时随地的利用移动设备来存取网络中的资源。在许多嵌入式设备中,使用嵌入式数据库管理系统来管理大量的数据信息。然而在嵌入式系统中,存储容量都非常有限。如何充分利用这些有限的存储空间,提高嵌入式数据库的存储空间利用率一直是倍受关注的研究课题。目前,绝大多数嵌入式数据库系统都使用B+树索引机制。它的优点是效率高,能同时进行随机查找和顺序查找,且能动态维持平衡。然而根据研究表明B+树索引机制平均空间利用率仅达到50%左右,这对存储空间有限的嵌入式设备而言,B+树索引机制存在浪费存储空间的缺点。溢出技术思想就是当结点发生分裂时,使用一个附加“溢出页”来暂存溢出的关键字,从而达到延缓结点分裂、提高存储空间利用率的目的。研究表明溢出技术比B+树索引机制增加了20%-30%的存储空间利用率。本文的主要任务是研究和实现一个具有较高存储空间利用率的,面向嵌入式数据库的索引机制。笔者首先介绍嵌入式数据库中比较有代表意义的索引机制以及它们的优缺点,再分析了B+树索引机制的实现思想及其优缺点,并结合溢出技术实现了一种改进的索引机制--B#树索引机制;编写程序实现B#树索引机制,并替换开放源码的嵌入式数据库SQLite中B+树索引机制,通过反复调试,将这个软件系统移植到广州致远公司的MAGICARM2410开发板上;最后,搭建软件测试环境平台,用脚本语言tcl编写测试程序进行了五组测试实验,分别对B+树和B#树索引机制在相同条件下的消耗时间和空间利用率两个方面进行测试和比较,并分析两种索引机制测试结果出现差异的原因,从而得到实验结论:B#树索引机制能在多消耗少量时间基础上,较大提高了嵌入式数据库的存储空间利用率,甚至在数据库表中插入记录较少记录的时,它消耗的时间跟B+树索引机制相当,而此时嵌入式数据库的存储空间利用率最多能达到76%。这对实时性要求不高的嵌入式数据库系统(如智能手机等移动设备中利用嵌入式数据库系统来管理用户资料)中,如何充分利用有限的嵌入式设备存储空间有较强的指导意义。