论文部分内容阅读
目前,基于磁盘文件的数据库系统,例如BerkeleyDB、SQLite,虽然代表着嵌入式数据库应用的主流,但仍有一些应用场合的需要难以满足。它们所提供的库函数都是依托于文件系统的,所以,其它应用在调用这些库函数的时候,要先把相关的代码复制到内存RAM中才能运行,没有充分利用现代Flash存储器读的速度可以和RAM相媲美的特点。
鉴于上述情况,本文研究并实现了一种基于Flash存储器的嵌入式数据库——EDB,直接在Flash中执行有关代码,免去了将代码复制到RAM中执行而消耗的时间及RAM的空间。文中分析了这种类型的数据库,其运行空间分为RAM可读写内存及Flash只读内存所带来的问题,并给出了解决方法。它充分利用现代Flash存储器可与RAM媲美的读出速度,EDB的系统数据和用户数据文件交由操作系统的文件系统来管理,而使EDB的可执行代码——库函数脱离文件系统,单独存放在一块不受文件系统管理的Flash存储器区域,由CPU直接执行。EDB数据库的数据文件采用的是B树,并且在软件设计过程中充分采用了层次结构的思想,支持事务的回滚、提交等功能。
在文章的最后,还给出了EDB应用在门禁系统中的一个实例。