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

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

点击数:7160 次   录入时间:03-04 11:57:07   整理:http://www.55dianzi.com   嵌入式系统-技术
       随着 嵌入式 系统的广泛应用及嵌入式 实时 操作系统的不断普及,嵌入式环境下的数据管理问题成为系统中的重要环节,构建嵌入式实时 数据库 系统(RTDBS)成为嵌入式开发中必须解决的问题。这里所说的嵌入式RTDBS[1][2]是指可在嵌入式设备中独立运行的一种数据库系统,用以处理大量的、时效性强且有严格时序的数据,它以高可靠性、高实时性和高信息吞吐量为目标,其数据的正确性不仅依赖于逻辑结果,而且依赖于逻辑结果产生的时间。图1是一个嵌入式应用的基本构架,整个嵌入式RTDBS构建于实时操作系统之上。由于嵌入式实时数据库系统在运行环境和运行方式上与常见的企业级数据库管理系统有很大差别,因此,传统的企业数据库如Oracle、Sybase等在实时嵌入式环境下很难发挥作用,尤其在一些实时性要求很高的控制系统中,传统数据库更显得无能为力。因此,伴随着各种商用嵌入式实时操作系统的出现,研究嵌入式环境下的实时数据库系统成为嵌入式软件中的一项重要内容。

嵌入式应用基本结构

图1  嵌入式应用基本结构

   & nbsp;   嵌入式RTDBS内涵及其体系结构         

       目前嵌入式系统开发中,在实时数据库问题上的多数看法是,嵌入式RTDBS从本质上说是一个“内存数据库”,是一个由应用程序管理的内存缓冲池,它在系统中的作用就是一个供多个实时任务共同使用的共享数据区。这种数据库实际上是一个嵌入在用户应用软件中的与应用程序不可分割的部分,其功能主要是数据的存和取,不具有独立性,不是一个真正意义上的数据库系统。一个完整的嵌入式实时数据库系统除了包括内存数据库外,还应当含有历史数据库和数据库管理系统DBMS及提供给用户的接口函数,整个数据库可由DBMS完成对数据库的具体配置及各种操作,例如系统运行前根据实际需要对内存数据库中的记录节点进行增减等配置操作。目前的嵌入式实时数据库系统可分为两大类,一类是商用级的嵌入式实时数据库系统,它独立于具体的应用软件,如美国MCOBject公司提供的eXtremeDB内存式实时数据库,这是一种专门为嵌入式系统数据库管理而编写的实时数据库,它将数据库直接建立在内存之中,并根据应用特征产生数据库API,用户可方便的调用这些接口函数管理整个数据库系统;另一类是用户针对具体的应用对象而自行设计开发的嵌入式实时数据库系统,这种数据库一般是嵌入到应用软件中作为应用程序的一部分,不具有独立性,目前测控系统中用户开发的实时数据库大都属于这种情况。

嵌入式RTDBS系统结构       

图2 嵌入式RTDBS系统结构

       图2所示的是一个嵌入式实时数据库系统的体系结构,同传统的数据库一样,它仍然是一种三级模式的结构体系,即用户模式、逻辑模式和存储模式。在嵌入式环境下构建实时数据库系统,应该完成以下功能:高效的数据存取机制、数据安全性控制、实时事务管理机制、数据库的恢复机制等,设计中更关心的是系统的实时性、开销大小、系统性能、可靠性、可预知性和底层控制能力,即如何针对选用的实时OS和嵌入式硬件平台设计合理的数据模型和物理结构,重点放在如何高效的利用嵌入式系统的有限资源、如何提高数据的存取速度、如何进行数据保护、数据交换、查询/ 事务处理算法的优化、事务的优先级分派、事务调度和并发控制等等。

www.55dianzi.com       嵌入式 RTDBS的数据模型   

       嵌入式 实时 数据库 系统的关键是数据模型的确立,它决定了数据被访问和操作的方式,应用程序的性能和可靠性也大部分取决于此。目前嵌入式环境下的数据库系统多数采用了关系模型结构,这也是商用数据库系统的数据模型,该模型结构是利用二维关系表来实现数据存储,利用索引访问和查询数据,这种模型结构是建立在严格的数学基础上的,结构简单灵活,独立性好,但在嵌入式环境下的内存开销和数据冗余较大,用户必须对其进行优化,增加了开发数据库系统的难度;有些嵌入式数据库则采用了网状模型结构,该模型通过指针来确定数据间的显式连接关系,它比关系模型中利用冗余数据和索引文件要节约大量的存储空间,具有一定的数据独立性和共享特性,运行效率较高,而且由于它避免了索引操作,比关系型

        数据库模式要节省存储空间,数据操作速度也更快。但是这种模型结构比较复杂,尤其当嵌入式系统规模增大时,其数据库的结构变得非常庞大,可能会影响到系统的实时性能。图3所示的是在相同数目的记录下,关系模型和网状模型的系统开销比较,从图中可以看出,网状模型因为避免了索引操作使得其开销要小于关系模型。但是在实际应用中,应当根据实时系统的综合性能选取数据库模型,通常可采用网状加关系或层次加关系的混合模型结构以弥补两种结构之间的缺陷,如CENTURA公司的嵌入式实时数据库RDM(Raima Database Management),它将网状和关系模型的优点结合起来,避免了不必要的索引开销,显著地减少系统存储空间、I/O操作和CPU周期,由于其快速而且可靠性高的特点,广泛应用于许多嵌入式产品中。

关系和网状模型开销比较

图3  关系和网状模型开销比较

       嵌入式RTDBS的物理结构   

       在嵌入式实时系统中,确定性是一个重要 的性能指标,用户必须能够确定数据操作的时间和数据库存储空间的占用情况等。传统的数据库的存储管理主要是基于磁盘存储结构,数据在存取过程中需要进行频繁的I/O操作,由于I/O操作时间的不确定性,使得传统数据库存储技术无法应用在嵌入式系统中。考虑到存取时间、存储空间利用率和维护代价等因素,通常嵌入式实时系统的存储结构分为两个层次,第一层为内存,即RTDBS中的内存数据库,整个实时数据库系统的高性能要求就是以内存数据库做为底层支持的,它是实时数据库系统的关键,用于程序运行和实时数据的处理,它存取速度快,无需进行磁盘的I/O操作,因此最适合用于实时数据的管理和操作;第二层为外存,通常采用一些永久存储设备,需要进行读写I/O操作,用于存储系统中的历史数据。这样,对于那些固定不变的数据(如模拟量的工程单位)或存取频率相对较低的数据(如只有在故障恢复时才使用的数据备份或日志备份)放在外存空间内,而把所有的实时数据或当前工作部分的数据驻留在内存中,避免了数据库文件的操作,大大提升了实时数据库系统的性能。对于这种两层存储结构中的内存部分,可由嵌入式OS自动分配,用户也可指定系统的分配空间,一般由三部分共享内存构成,分别是索引区、数据区和系统信息区,每条记录由表名、段号、段内偏移地址来确定。   

       嵌入式RTDBS中数据的查找及更新相当频繁,必须建立良好的索引结构以加速各种操作的执行速度和确保数据结构的紧凑性。嵌入式RTDBS由于实时数据全部驻留内存,系统很少进行磁盘I/O操作,因此其索引结构重点解决时间和空间上的开销,其建立原则是快速定位,节省空间。通常采用的数据库索引结构为顺序结构、B树、AVL树的方法。顺序结构可采用数组方式存储,其优点是存取方便,但不便于动态维护,进行插入删除等操作时需要移动大量的数据; B树的使用最为广泛,它操作性能好,动态维护方便,但是它的每个节点的数据覆盖率仅为55%[3],存储效率太低;AVL树具有较高的存取性能,但是每个节点需要两个指针域和一些附加的控制信息,存储效率也不高。它们均不是嵌入式实时环境下的最佳选择,因此在以上结构的基础上,出现了多种改进的适用于嵌入式数据库系统的索引结构,如针对提高内存数据库性能的T*树索引结构[4],这是一种改进的T树结构,它比AVL树和B树具有更高的空间利用率,虽然查找时间复杂度稍高于AVL树,但内存中的操作使得其查找时间足以满足实时性要求,这种结构大大减少了节点间元素的移动和平衡处理的次数,较好的考虑了时间和空间的关系,是一种适用于嵌入式系统的索引结构;此外,针对嵌入式系统I/O操作性能的不平衡B树索引结构[5],主要为了减少存储块的写次数,这种索引结构的节点由若干个关键字和指针域构成,每个指针指向具有相应关键字的文件记录,由于不平衡B树避免了B树为了调节平衡产生的进一步分裂而进行的次数,因此提高了系统的写性能。

www.55dianzi.com

[1] [2]  下一页


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

上一篇:信号路径设计