论文部分内容阅读
随着嵌入式系统在各个领域的广泛应用,数据处理的要求越来越高,仅仅使用文件系统已经不能满足数据处理的需要。一种新型的数据库—嵌入式数据库逐渐出现在人们的视野。它克服了文件系统数据管理的缺陷,有效地满足了数据处理的需要,已经成为嵌入式软件系统中一个重要的中间件。嵌入式数据库和传统数据库所面对的硬件基础有很大不同,在处理器的处理能力、主存的容量和系统的功耗要求上嵌入式系统都比台式计算机要严格的多,因此其实现必须把效率放在第一位。在SEP3203Garfield平台上,AsixOS只能提供简单的数据管理接口,应用程序之间的数据不能相互访问和共享,需要一个数据库为数据操作提供一个统一的开发环境。本课题的主要任务是在GE01的硬件平台和AsixOS嵌入式操作系统平台上实现一个嵌入式数据库,其主要架构包括:应用程序接口、缓冲管理器和索引结构。首先分析系统需求,定义出嵌入式数据库的管理模型和数据模型,讨论嵌入式数据库的整体框架。然后描述缓冲管理器的实现原理和数据结构。我们将数据库文件分成页面进行管理,在缓冲区中使用哈希表进行查找,利用类LRU队列进行页面替换。在设计索引的部分,为了适应数据库的动态变化,我们实现两个最广泛的索引结构:B~+树和线性哈希。分别分析了B~+树的查找算法和页面分裂算法,以及线性哈希的分裂算法和溢出链管理。然后在嵌入式数据库基础之上设计一个基于AsixOS操作系统的应用程序来分类管理MP3。最后根据实验数据比较了这两种索引的优劣。在实践中证明了该数据库可以很好地适应以SEP3203 Garfield为核心的嵌入式应用系统,为应用程序的开发提供了一个良好的应用接口,能够加快应用程序的开发进度。通过对测试结果的详细分析,指出了在应用程序中如何优化数据库的应用。