嵌入式数据库管理系统的设(修改稿)嵌入式数据库管理系统的设计(修改稿).doc

嵌入式数据库管理系统的设(修改稿)嵌入式数据库管理系统的设计(修改稿).doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式数据库管理系统的设(修改稿)嵌入式数据库管理系统的设计(修改稿)

嵌入式数据库管理系统的设计 敖磊1 姜立秋2 (1.大连理工大学城市学院计算机工程学院,辽宁大连,116600;2.大连理工大学城市学院计算机工程学院,辽宁大连,116600) 摘要:本文设计了一种嵌入式数据库管理系统。它以目前成熟的数据库技术为基础,针对嵌入式设备的具体特点,实现了对嵌入式数据库中数据的存储、组织和管理。在论文的阐述当中,对嵌入式数据库管理系统中几个关键技术的设计和实现进行了研究。这些研究对于应用于嵌入式数据库管理系统的研究具有很好的参考价值。 关键词:嵌入式;数据库管理系统;存储管理;并发控制;事务处理 0 引言 嵌入式数据库管理系统,也称为EDBMS,是由众多模块组成微型数据库管理系统。在设计EDBMS的时,可以依据各个模块主要功能、功能间的依赖关系以及在EDBMS总体层次结构中所处的位置,将其核心划分为三个部分:存储管理、并发控制以及事务处理 [1]。 1 存储功能的设计思路 数据库系统一般存在三种模式,即内模式、外模式以及概念模式。EDBMS核心模块中的存储功能为这三种模式建立了很好的映射关系。主流的嵌入式操作系统如VxWorks,由于具有很强的文件系统功能,因此可以利用这个特点完成系统文件和数据文件在内外存之间的读写操作。 另外,在分布式环境下还需要在EDBMS上实现有关网络通信功能的模块,可以称之为网络通信模块。当系统运行时,存储管理模块可能要判断某个数据是来自于某个通信端口还是来自于本系统中的FLASH。而网络通信模块可以通过建立一个统一的文件视图,在通信端口和内存间实现有效的映射,使存储模块不必关心某个数据文件的来源。 存储管理功能的设计需要注意三个问题[2]: 其一,无论用户还是某个应用进程,对数据库系统的操作一般包括数据的增、删、改、查、并归和排序等。在操作过程中,可能出现在内存中多次复制同样的记录的情况,这样会影响到系统的运行效率。因此可以完成一个能够在操作结果和文件之间建立映射关系的结构体——结果集。这个结构体的内容包括记录编号和文件FD。当应用程序需要访问数据时,该结构体会根据其中的内容从打开的文件中取出。 其二,为了???止由于频繁的写FLASH造成EDBMS性能的下降,可以将页面中变动的内容暂存在内存中。该页就被内核标记为脏页,内核将会在合适的时间如系统空闲或退出时把脏页的数据写到FLASH中去。这样不仅可以提高系统的工作效率,还可以保持内存中的数据和FLASH中的数据是一致的。 其三,EDBMS是通过逻辑/物理地址转换功能实现数据库的外模式。在系统中,用户数据文件是保存在内存中一片连续存储空间的二进制数值,而应用程序的操作对象是二维表,访问该数据记录时需使用表名、属性名和记录号。因此存储管理功能的逻辑/物理地址转换功能要根据数据文件中的头结构等参数完成结构体的字段。 存储管理功能的工作流程如图1。 图1 2 并发控制功能的设计思路 进行并发事务处理的主要目的是为了保证事务处理的一致性和冲突解决的高效性。引起冲突的主要原因有两方面:第一是多个进程对同一个表项中的数据进行修改;第二是事务对数据先读后写造成的冲突。 在EDBMS中,为了使进程间能够很好地通信,可以运用“锁策略”实现多个并行的事务并发读取同一个数据资源。即通过加锁的方法实现多个并行事务对同一个表进行读操作,但只能有一个事务对该表执行写操作的过程。这两个方面分别通过“共享锁”和“排他锁”完成。各个事务必须严格遵照“锁策略”的规则。 锁的操作分为上升阶段和释放阶段。当一个事务运用“锁策略”向数据库提出操作请求时,EDBMS会产生,SubTransaction进程完成该操作。这个时候为上升阶段;在整个操作执行结束后,将释放该进程,这个时候为释放阶段。 在并发处理功能中,如何解决死锁是十分重要的问题。因此在EDBMS中可以引入死锁检测机制。即首先认为所有事务的调度是串行的,不会产生死锁。每个等待死锁的事务上都给定一个时间戳。一旦有两个以上的锁节点上绝大部分的时戳超过了预设定的门限,既认为有死锁产生,即可通知监视模块,进行相关的处理。 3 事务处理功能的设计思路 事务处理功能是嵌入式数据库管理系统十分重要的组成部分。它的主要任务是调度、管理分布式数据库上运行的事务,负责子事务的初启与结束,并监督执行。事务的状态有四种,分别是开始事务、提交事务、回滚事务和事务恢复[3]。 当用户的应用进程需要对数据库进行访问的时候,这样的操作必须在一个任务中进行。每个任务中必然会有一个事务管理的操作,其主要作用是保证对数据的安全访问。在事务开始时,必须申请事务将要用到的所有锁,当事务结束时,释放所有的锁。 EDBMS事务处理功能要完成两个非常重要的工作。首先,它要接受通过函数调用或通过消息机制的事务请求,根据操作类型产生相应的事务管理

您可能关注的文档

文档评论(0)

zyongwxiaj8 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档