您当前的位置:五五电子网电子知识单片机-工控设备嵌入式系统-技术嵌入式实时数据库技术研究 正文
嵌入式实时数据库技术研究

嵌入式实时数据库技术研究

点击数:7160 次   录入时间:03-04 11:57:07   整理:http://www.55dianzi.com   嵌入式系统-技术
       嵌入式 RTDBS管理系统   

       嵌入式RTDBS系统是介于用户和 实时 操作系统之间的一层软件,由众多程序模块组成,它的作用是对 数据库 中的共享数据进行有效的组织、管理和存取,其结构如图4所示。其中,存储空间管理模块、安全性和完整性控制模块、事务并发控制模块、实时数据转储模块、运行日志管理模块是在嵌入式环境下开发实时数据库系统需要特别解决的几个问题:(1)存储空间管理模块。嵌入式实时数据库系统由于采用了内存数据库技术,必然要涉及到嵌入式操作系统的内存管理,因此,用户必须了解系统对内存的分配机制,并设计自己的内存管理程序。系统运行时,由该模块通过实时OS向系统申请内存缓冲区,作为共享的内存数据区使用。之后,将历史数据库中的初始化数据调入内存区对这些空白内存进行初始化。对内存空间的申请,用户可采用静态分配方式,这种方式实现简单,无需复杂的索引结构,缺点是失去了灵活性,必须在设计阶段就预先知道所需内存并对之作出分配;或者采用动态分配方式,这种方式使用灵活,可以根据需要扩充数据节点,但是必须建立合适的索引结构,以加快数据的检索时间。该模块要根据具体的实时OS进行设计;(2)数据安全性、完整性控制模块。实时数据库设计中必须考虑数据的安全性,一方面指用户访问数据的合法性,另一方面是指系统的安全性。完整性是指用户对实时数据或历史数据的各种操作必须符合一定的语义,可通过完整性约束条件来实现;(3)事务并发控制模块。实时数据库是一个共享资源,允许多个任务共同使用,如果不对并发事务进行控制,可能会造成任务错 误的读取或存储数据,破坏数据的一致性,因此实时数据库系统中,必须实现良好的并发控制机制。传统的数据库一般采用加锁的方式,类似于实时操作系统中的信号量,对于封锁粒度的大小要根据具体的应用系统确定,传统数据库获得锁的开销较小,因此通常选用小粒度封锁单位,以增加系统的并行性。但在实时数据库系统中,事务获得锁的开销与处理数据的开销相当,过小的封锁粒度反而会降低系统的性能,因此在实时数据库中的封锁粒度通常选择一张关系表为一个单位(如模拟量关系表为一个封锁单位),这样做减少了并发控制机制的复杂度,减小了系统的开销,提高了事务处理的整体性能;(4)实时数据转储模块。该模块实现的功能是将实时数据存储为历史数据,通常由该模块先将历史数据保存在内存缓冲区中,缓冲区满时才一次性的写入磁盘;读历史数据时,先从缓冲区内取数据,取不到数据时再进行文件的读写,这种方式可以降低磁盘I/O操作次数。并且只对变化数据进行存储,即节省了外存空间,又不会影响系统性能;(5)运行日志管理模块。日志文件在数据库恢复中起着非常重要的作用,可以用来进行事务故障恢复和系统故障恢复。日志缓冲区专门存放数据库操作的记录,传统的数据库日志记录包括记录名、更新前记录的旧值、更新后记录的新值、事务标识、操作类型等。在嵌入式实时数据库系统中,为了减少系统的开销,在日志记录中不包括新旧记录值,对日志记录的写操作只对缓冲区进行,当缓冲区满时,才由磁盘写操作写入日志文件当中。

嵌入式RTDBS模块结构

图4  嵌入式RTDBS模块结构

       嵌入式RTDBS设计实例   

       我们开发了针对测控系统的基于嵌入式操作系统VxWorks的实时数据库系统,该系统的硬件平台采用了Intel486系列的PC104 CPU板,用户可通过PC104硬件平台上的显示界面添加或删除相应的数据节点,整个应用系统结构如图5所示。该系统分为内存数据库和历史数据库两部分,内存数据库是一个数据实时更新的数据库系统,由应用程序初始化时静态创建一个大型缓冲池,用于存放各种类型的数据节点,利用空闲链表管理缓冲池中的空闲单元。程序在添加新节点时,首先从空闲链表中找到空闲单元分配给用户,然后链表中的该节点被删除。当缓冲区内存不够时,通过VxWorks中提供的增强型内存分区管理库MemLib,从系统内存中动态申请一块缓冲池作为新的缓冲池,这种静态结合动态的内存分配方式可以克服内存碎片的问题,同时也避免了静态分配中内存数据库容量设计过大或过小的问题;对于数据索引结构,考虑到实时系统中数据的检索和更新相当频繁,结合系统性能要求,在嵌入式RTDBS中我们采用了L树的索引结构,该树结合了B+树、T树和AVL树的特征,它的每一结点可含有多个关键字,具有较高的空间利用率,是一种比较好的支持内存数据库的索引结构;在基于优先级驱动的实时事务的控制上,将事务的截止时间映射为事务优先级,最简单的先来先服务FCFS的分配策略由于没有考虑到定时限制,不适合用于实时系统,因此我们采用了最短期限的分配策略;此外,对于数据库的管理,我们提供了传统数据库的管理功能,如添加、删除、修改及显示等,用户必须以相应的权限进入系统才能进行操作,显示系统利用VxWorks中的图形软件包Zinc进行开发,整个系统运行稳定,能够满足实时系统的数据管理要求。

嵌入式实时数据库应用图示

图5  嵌入式实时数据库应用图示

www.55dianzi.com         结语

       目前, 嵌入式 环境下的 实时 数据库 开发还存在许多问题需要解决,在实际应用中的性能也有待进一步提高,其关键在于实时系统的存储结构、数据的存取速度、实时事务的优先级调度、故障恢复问题,这是提高实时数据库性能的关键之处,也是实时数据库系统理论的研究重点。

参考文献:1.  Olson,M.A. Selecting and Implementing an Embedded Database System. IEEE Computer.    2000,33(9):27-342.  J StankovIC,et al. Misconceptions about Real-Time Databases. IEEE Computer,1999,32(6):29-363.  Lehman T J, Carey M. A Study of Index Structure MMDBMS. Proc of the 12th InternationalConference on Very Large Database,1986,294-3034.  卢炎生,潘怡等.一个内存数据库管理系统的数据组织.华中理工大学学报,1999,27(10):64-665.  杨进才,刘云生等.嵌入式实时数据库系统的存储管理.小型微型计算机系统,2002,24(1):42-45



上一页  [1] [2] 


本文关键字:嵌入式  数据库技术  嵌入式系统-技术单片机-工控设备 - 嵌入式系统-技术

上一篇:信号路径设计