摘要

针对嵌入式设备的文件开放系统实现的数据库受到文件系统的牵制从而导致影响到数据库的慢速存取的问题,文中以嵌入式开放系统Nucleus为例,将基于数据库设备,直接面向Flash驱动的方法,将若干个数据库由每个库名和可变长记录表和自定义若干索引表组成。其中的索引表进行排序,同时为数据库提供向上的寻址空间,将存储空间的擦除块映射用地址映射表来实现,使逻辑地址空间连续且可逆。记录主要由一个类别加上一个目录信息再加上记录数据构成,对于数据库的保护采用备份两份数据库定义文件和两份索引文件的方式,同时对于擦除块的掉电保护在底层设备独立完成以及记录等操作的掉电保护由数据库系统操作完成。测试软件结果表明,提出的方法便于移植,其他模块崩溃不会直接影响数据库系统,且提高了存取速度,同时占用内存也大大减少。