论文部分内容阅读
在嵌入式应用领域,由于应用领域、软硬件环境等条件与传统计算机的差异,相应的特殊数据库管理系统设计成为一项攻关难点。本文基于嵌入式火灾自动报警系统开发的工程背景,对嵌入式数据库设计进行了研究,设计并实现了适用于监控、工业控制等领域的嵌入式数据库系统。
该嵌入式数据库系统以Linux2.4为底层操作系统平台,采用C/S体系结构。其中,服务器端的设计和实现是本文的重点之一。在嵌入式数据库系统中,服务器端负责整个数据库系统的数据存储和管理,提供查询、添加和删除记录等基本功能。服务器的设计和实现包括DBMS核心的模块化、核心线程结构、接口模块、索引模块、缓冲区管理模块、日志模块。而客户端的设计则相对简单,通过对客户接口进行良好的封装,本机和远程客户都只使用一个精简的接口与服务器通信。达到了系统的可扩展性要求。与传统数据库系统相比,嵌入式数据库具有快速(或实时)响应、专用性、微型化、健壮性和零管理等特点。针对这种特点和要求,在嵌入式数据库的设计和实现中充分利用底层操作系统平台的特点,借鉴传统数据库和主存数据库的一些思想和技术,整个嵌入式数据库系统具有以下特点:
1响应快速:虽然底层操作系统不是实时操作系统,但在嵌入式数据库中借鉴主存数据库的一些技术,实现了适合内存驻留的索引结构,如T—树等,以加速数据访问;客户和服务器间使用Unix域协议作为基本的IPC机制,实现良好、稳定的数据交互;支持本机客户和远程客户的多用户并发访问。
2尺寸小:整个数据库的代码尺寸小,服务器端代码编译后只有50K左右大小。
3系统负载小:服务器和客户以进程标示,而服务器对并发的支持采用多线程模型,整个服务器端的日常维护只需五个(包括LinuxThread库的管理线程)线程。
4可靠性高:通过严格的错误检查、定期备份和日志机制解决数据库系统的数据输入故障、介质故障和系统故障;实现了缓冲区管理器,避免了嵌入式系统常常由于资源,特别是存储资源分配失败而引发的系统故障,而且加速了事务处理的效率;采用代理模式,隔离远程访问对数据库系统安全性的威胁。
5可扩展性良好:采用层模式设计服务器的体系结构,各个模块功能明确、封装良好、接口简单。
目前,已完成该嵌入式数据库系统实现,并将其运用于嵌入式火灾自动报警系统,达到预期的设计目标。