论文摘要
数据库作为一种高效的组织和管理数据的软件,过去一直是以磁盘作为存储介质,随着嵌入式软件技术的发展和内存容量的大幅度提高,嵌入式内存数据库应运而生。嵌入式内存数据库系统的数据永久驻留在内存中,而常规的磁盘数据库系统的数据主要驻留在磁盘等机械读取设备中,所以内存数据库访问数据比磁盘数据库有更高的效率。在通信领域,随着人们需求的发展,出现了很多业务数据短小但业务量急速增大同时又对交换速度要求很高的通信业务,如手机短信等。面对这些新设备和新业务,基于电信领域OSS(Operation Support System)的嵌入式内存数据库技术有了一个很好的展示自己的舞台。嵌入式内存数据库系统通过其快速的数据访问能力,比磁盘数据库更适合于需要快速响应和高事务吞吐量的电信领域,对于需要在严格要求的时间内完成数据访问的实时电信系统,嵌入式内存数据库系统是一个理想的选择。如今嵌入式内存数据库技术越来越受到人们的关注和研究。近年来,随着计算机芯片技术的不断改进,中央处理器的速度和主存速度之间的差距逐渐扩大,系统对主存的存取访问成为新的瓶颈。Cache是一种容量非常小、但速度非常快的静态存储器,设置在CPU和主存之间。由于cache中保存着主存中最常使用的数据和指令,因此可以有效地减少CPU的等待时间。命中率越高,CPU的运算效率就越高。命中率对数据库系统索引结构的性能影响非常大,尤其是对嵌入式内存数据库索引结构的性能,更是至关重要。本文在大量阅读内存数据库和磁盘数据库相关技术资料的基础上,首先研究了缓存的时间局部性和数据空间局部性结合的原理,采用局部冲突链的方法,提出了缓存敏感的散列结构,建立局部冲突链处理散列表,并研究分析了其性能;其次根据嵌入式系统事务特性,分析事务处理方法,设计了函数调用级事务处理方案,减少了事务处理中进程交互,加快了事务处理速度;接下来设计了自主调度锁系统,解决在OSS系统中信号量会阻塞一组进程的问题,实现了快速的锁系统,并兼顾了优先级和时间公平性;最后改进了优先级位图方法,增加了cache利用率,对于嵌入式系统有更优的效率。