首页> 中文学位 >一种直接在flash内存中运行的嵌入式数据库系统
【6h】

一种直接在flash内存中运行的嵌入式数据库系统

代理获取

目录

文摘

英文文摘

声明

第一章绪论

1.1课题背景

1.2国内外研究现状

1.2.1为什么会出现嵌入式数据库

1.2.2嵌入式数据库的特点

1.2.3 Berkeley DB

1.2.4 SQLite

1.2.5EDB

1.2.6目前嵌入式数据库存在的问题

1.3 flash文件系统

1.3.1 Flash的物理特性和限制

1.3.2基于磁盘的文件系统

1.3.3 JFFS2

1.4 XIP

1.5选题意义

1.6主要研究内容

1.6.1系统体系结构

1.6.2 RAM空间管理

1.6.3 flash空间管理

1.6.4文件格式

1.6.5文件地址映射

1.6.6用户接口

1.7本章小结

第二章EDB2体系结构和系统环境

2.1系统体系结构

2.1.1用户接口子系统

2.1.2库表索引子系统

2.1.3 flash空间管理

2.1.4文件地址映射

2.1.5 RAM空间管理

2.1.6补充说明

2.2系统环境

2.2.1系统的硬件平台

2.2.2系统的软件平台

2.3本章小结

第三章EDB2主要数据结构、算法和函数

3.1数据结构

3.1.1 flash中的数据结构

3.1.2内存中的数据结构

3.2算法

3.2.1初始化EDB2

3.2.2文件地址映射

3.2.3打开文件

3.2.4写文件

3.2.5读文件

3.2.6访问库表

3.2.7 RAM空间管理

3.2.8 flash空间分配、磨损平衡与垃圾收集

3.3主要函数说明

3.3.1初始化EDB2

3.3.2打开文件

3.3.3写文件

3.3.4读文件

3.3.5 flash空间分配

3.3.6垃圾收集

3.4本章小结

第四章EDB2的文件格式

4.1库表文件

4.2索引文件

4.2.1 0号页的数据格式

4.2.2 B树页的数据格式

4.2.3空闲页链表

4.3系统文件数据格式

4.4本章小结

第五章用户接口

5.1用户API

5.1.1创建库表函数

5.1.2删除库表函数

5.1.3打开库表函数

5.1.4关闭库表函数

5.1.5添加记录函数

5.1.6删除记录函数

5.1.7查询记录函数

5.1.8更新记录函数

5.2中断服务程序

5.2.1中断向量表

5.2.2参数传递

5.3本章小结

第六章EDB2与Berkeley DB和SQLite的区别

6.1记录格式

6.2数据存储方式

6.3并发性

6.4用户接口

6.5本章小结

第七章EDB2在物流管理手持设备中的应用

7.1物流管理手持设备简介

7.2物流管理手持设备数据库管理

7.3库表设计

7.3.1装货

7.3.2卸货

7.4本章小结

总结与展望

参考文献

攻读硕士学位期间取得的研究成果

致谢

展开▼

摘要

本文研究一种嵌入式数据库系统EDB2。它直接在flash中运行,且可脱离操作系统。它抛弃了“外存”概念,将flash和RAM都视为“内存”。它采用了XIP的思想,直接从内存的flash运行代码和读取数据,省却了在运行代码和读取数据之前代码与数据先从flash复制到RAM的时间,也节省系统RAM的容量,还降低了功耗。另外,EDB2能在无操作系统的嵌入式系统中运行,节省了存储空间,也节省了应用程序通过文件系统跟数据库交互过程文件系统本身消耗的时间,还降低了功耗。EDB2适用于因flash空间紧缺而装不下操作系统,或对时间的要求高,需要直接在flash中执行代码的嵌入式应用场合。 本文设计了EDB2的体系结构。它以实用、体积小、便于嵌入式应用为主要追求目标,包括用户接口、库表索引、flash空间管理、文件地址映射、RAM空间管理五个子系统。用户接口子系统为用户进行数据库操作提供接口。库表索引子系统为数据库索引提供支持。flash空间管理子系统负责flash空间的管理,包括空间分配、磨损平衡、垃圾收集策略的实现。文件地址映射子系统解决的是为文件在RAM中构建索引的问题。RAM空间管理子系统负责RAM中数据结构和缓冲区的空间管理工作。 本文研究了EDB2对自身的flash和RAM的管理以及文件逻辑地址到物理地址的映射问题,并描述了主要的相关数据结构,算法和函数。对flash的管理采用了磨损平衡以及垃圾收集机制,对RAM的管理采用了动态分配机制,文件地址映射采用了B树数据结构。 本文在EDB2中定义了三种文件:库表文件、库表索引文件、系统文件。库表文件和系统文件都采用了顺序文件格式,库表索引文件采用了B树文件格式。 本文设计了用户接口,包括创建库表、删除库表、打开库表、关闭库表、添加记录、删除记录、查询记录、更新记录等函数。用户接口函数不求众多,只求满足应用要求。 本文讨论了EDB2与Berkeley DB或SQLite在记录格式、数据存储方式、并发性、用户接口四个方面的不同之处。 本文最后给出了EDB2在物流管理中的一个应用实例。

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号