碧波液压网 欢迎你,游客。 登录 注册

SQLite嵌入式数据库系统的研究与实现

版权信息:站内文章仅供学习与参考,如触及到您的版权信息,请与本站联系。

  引 言

  随着嵌入式系统的广泛应用及用户对数据处理和管理需求的不断提高,各种智能设备与数据库技术的紧密结合得到重视。这种数据库不仅具有传统数据库的主要功能,还具有嵌入式和支持移动技术两种特性,因此通常被用在掌上电脑、PDA、车载设备、移动电话等嵌入式设备中。这种数据库技术的兴起使人们不再受单一操作系统的限制,可以随时随地处理业务、传递信息。可以说,嵌入式数据库的发展提高了数据信息接入的普遍性,使人们随时随地获取信息的愿望成为可能。

  1 嵌入式数据库系统的体系结构

  嵌入式数据库将数据库系统与操作系统和具体应用集成在一起,运行在各种智能嵌入式设备上。与传统的数据库系统相比,它一般体积较小,有较强的便携性和易用性,以及较为完备的功能来实现用户对数据的管理操作。但是,由于嵌入式系统的资源限制,它无法作为一个完整的数据库来提供大容量的数据管理,而且嵌入式设备可随处放置,受环境影响较大,数据可靠性较低。在实际应用中,为了弥补嵌入式数据库存储容量小、可靠性低的不足,通常在PC机上配置后台数据库来实现大容量数据的存储和管理。嵌入式数据库作为前端设备,需要一个GUI交互界面来实现嵌入式终端上的人机交互,并通过串口实现和PC机上主数据源之间的数据交换,实现系统服务器端数据的管理,接收嵌入式终端上传的数据和下载数据到嵌入式终端机等操作。

  2 SQLite的体系结构及开发技术

  SQLite是D·理查德·希普开发的用一个小型C库实现的一种强有力的嵌入式关系数据库管理体制。它提供对SQL92的大多数支持:多表、索引、事务、视图、触发和一系列的用户接口及驱动。

  2.1 SQLite的体系结构

  SQLite可以分成8个主要子系统,如图1所示。顶层是标记处理器(tokenizer)和分析器(parser)。高度优化的分析生成器可以快速生成高效率的代码。底部是基于Knuth经过优化的B树。这样可以运行在可调整的页面缓冲(pagecache)上,有助于将对磁盘的查找减到最少。再往下是页面高速缓存。它作用在OS的抽象层之上,这样的安排有助于数据库的移动。体系结构的核心是虚拟数据库引擎(VDBE)。VDBE完成与数据操作相关的全部操作并且是客户和储存之间进行信息交换的中间单元。它是SQLite的核心。在SQL语句被分析之后,VDBE开始起作用。代码生成器将分析树翻译成一个袖珍程序,随后这些袖珍程序被组合成用VDBE虚拟机器语言表示的一系列指令。如此往复,VDBE执行每条指令,最终完成SQL语句指定的查询要求。VDBE的机器语言由围绕数据库管理的128个操作码(op—code)组成。对于打开表、查询索引、存储和删除记录以及很多其他数据库操作都有对应的操作码。VDBE里的每条指令由1个操作码和3个操作数(operand)组成。一些指令使用全部3个操作数,也有些指令一个也未使用。这完全取决于指令的性质。例如Open指令用于打开一个表的指针,使用了全部3个操作数:第1个操作数(P1)包含指针的ID号,第2个操作数(P2)指出表的根位置(或者表的首页位置),第3个操作数是表的名字。

你没有登陆,无法阅读全文内容

您需要 登录 才可以查看,没有帐号? 立即注册

标签:
点赞   收藏

相关文章

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名: 验证码:

最新评论