嵌入式实时数据库技术研究。doc2021/ 2/20 0:00:00

嵌入式实时数据库技术研究。doc2021/ 2/20 0:00:00

随着嵌入式系统的广泛应用和嵌入式实时操作系统Zuo的不断普及,嵌入式环境中的数据管理问题已成为系统中的重要环节,也是嵌入式实时系统的构建。数据库系统(RTDBS)已成为嵌入式问题必须在公式Fa中解决。这里提到的嵌入式RTDBS [1] [2] Shi是指一个数据Ju数据库系统,该系统可以在嵌入式设备中独立运行,以强大的及时性和严格的Shi顺序处理大量数据。目标是高可靠性,高实时性能和高Xin信息吞吐量。其数据的正确性不仅取决于逻辑Ji结果,还取决于生成逻辑结果的时间。 Tu1是嵌入式应用程序的基本框架,整个嵌入式RTDBSGou都建立在实时操作系统上。由于嵌入式实时数据库Xi系统在操作环境和操作模式上与普通企业级Ju库管理系统有很大不同AG体育 ,因此传统的企业数据库(如Oracle和SybaseDeng)很难在实时嵌入式系统中发挥作用环境。尤其是在一些对实时性要求很高的彝族控制系统中,传统的舒数据库更加强大。因此,随着各种商业嵌入式Ru实时操作系统的出现,对嵌入式环境中的实时Shu数据库系统的研究已成为嵌入式软件中的重要内容。图1嵌入式Ying的基本结构。在当前的嵌入式系统开发中,有关Zai实时数据库问题的大多数意见是,嵌入式RTDBSCong本质上是“内存数据库”和由应用程序管理的内存缓冲池。系统中的Zuo应用程序是一个共享的数据Ju区域,用于执行多个实时任务。

这种数据库实际上是嵌入在用户的Yong软件中的应用程序不可分割的一部分。如果它的功能Zhu是数据的存储和检索,那么它并不是独立的,也不是真正意义上的数据库系统。 。一个完整的嵌入式实时数据库系统除内存数据库外,还应包括历史数据库和数据库管理系统DBMSJi提供的用户界面功能,整个数据库可以由YouDBMS完成对数据库的特定配置和各种Cao操作,例如系统操作根据实际需要,将内部Cun数据库中的记录节点配置为增加或减少。 Mu之前的嵌入式实时数据库系统可以分为两类,一类是Shi商业级的嵌入式实时数据库系统,它独立于特定的应用软件,例如由eXtremeDB提供的基于内存的实时数据Ku。 McObjectGong在美国。由Bian专门为嵌入式系统数据库管理编写的实时数据库。它直接在内存Zhi中建立数据库,并根据应用程序特征生成数据库API。用户可以调用这些接口功能来管理整个数据库系统。一种类型是由Zi line设计和开发的针对特定应用程序对象的嵌入式实时数据库系统。这种Shu数据库通常作为应用程序Cheng序列的一部分嵌入到应用程序软件中,并且没有独立性。目前,测控系统的忠实用户大多都属于这种情况。

Tu2嵌入式RTDBS系统结构图2显示了嵌入式实时数据库系统的Jie结构。像传统数据库一样,它仍然是Yi的三级结构,即用户模式和逻辑模式。和存模式。要在嵌入式环境中构建实时数据库系统Tong,必须完成以下功能:高效的数据访问Ji系统,数据安全控制,实时事务管理机器知识,数据库恢复机制等。设计更加关注与系统的时效性,开销,系统性能,可靠性,可预测性和低级控制能力有关,即如何为所选的Shishi OS和嵌入式硬件平台设计合理的数据模型和物理结构,重点是高效使用您限制嵌入式系统中的资源,如何提高数据访问速度,如何进入Xing数据保护欧冠平台 ,数据交换,查询/事务处理算法优化,交换,事务优先级分配,事务调度和并发控制之类,等等。到RTDBS嵌入式真实数据库系统是建立数据模型。 Ta决定访问和操作数据的方式。徐的应用程序的性能和可靠性在很大程度上也取决于此。在钱嵌入式环境中,大多数数据库系统都采用关系模型模型结构,这也是商业数据库系统的数据类型。该模型结构使用二维关系表来实现数据存储,并使用索引来访问和查询数据。 Xing模型的结构基于严格的数学。 Gou的结构简单灵活,具有良好的独立性。但是,嵌入式Huan环境中的内存开销和数据冗余很大,用户Bi必须对其进行优化和增加。开发数据库的困难在于Tong。一些嵌入式数据库使用网状模型Xing结构,该结构使用指针来确定数据之间的显式连接关系,这比在关系模型Ju中使用冗余数Ju和索引文件具有一定程度的数据独立性要节省很多钱共享特性,具有较高的运行效率。而且,由于它避免了索引操作,因此它比关系数据库Mo节省了存储空间并具有更快的数据操作。

但是这个Zhong模型的结构更加复杂,尤其是当嵌入式系统Zeng的规模很大时,其数据库的结构会变得非常大,并且Ke会影响系统的实时性能。如图3所示,De是相同记录数下关系模型和网格模型之间Xi成本的比较。从图中可以看出,网格模型Xing避免了索引运算,并使其成本低于关系Mo类型。然而,在实际应用中,应根据实时系统De的综合性能选择数据库模型。通常,可以使用网格加关系Huo层次加关系的混合模型结构来弥补这两种Zhong结构之间的缺陷,例如CENTURA RDM(Raima数据库管理)的嵌入式Shi实时数据库,Ta将网格和关系模型的优势,避免了Bu必要的索引开销,并由于其快速可靠的高生成性而大大减少了系统存储的空健,I / O操作和CPU周期。该特性被广泛应用于许多嵌入式产品中。 Tu3关系和网络模型开销比较在RTDBSZai嵌入式实时系统中,确定性是重要的性能指标。用户必须能够确定数据操作时间和Shu数据库存储空间的占用。传统数据Ju数据库的存储管理主要基于磁盘存储结构。 Shu数据在访问过程中需要频繁的I / O操作。 YuI / O操作时间的不确定性使传统的Shu数据库存储技术无法实现。在嵌入式系统Tong中使用。

考虑访问时间,存储空间利用率和维护成本等因素,嵌入式实时系统的存储捷结构通常分为两个层次。第一层是内存,即RTDBSZhong的内存数据库,而整个实时数据库系统Yaoqiu的高性能Yaoqiu都基于内存数据库作为基础支持。这是实时Shu数据库系统的关键。它用于程序操作和实时数据处理。它具有快速的访问速度,并且不需要磁盘DeI / O操作。因此,它最适合实时Shu数据的管理和操作。第二层是外部存储,通常使用一些永久性的Jiu存储设备,并且对Cun存储系统中的历史数据需要读写I / O操作。这样,对于那些固定数据(例如模拟工程单元)或Qu存储频率相对较低的数据(例如仅在故障恢复后才使用的数据备份或日志备份),请将其放置在外部存储空间中。并且所有实时数据或当前工作部分的De数据都驻留在内存中,避免了数据库文件的操作,极大地提高了实时数据库系统的性能。这个两层存储结构的内存部分中的Dui可以由You嵌入式OS自动分配,并且用户还可以指定系统De分配空间。它通常由共享内存的三个部分组成。 Bie是索引区,数据区和系统信息区。 ,每个Tiao记录均由表名,段号和段内的偏移地址确定。 Qian-in RTDBS中的数据搜索和更新非常频繁。 Bi必须建立良好的索引结构,以加快各种操作的行行速度,并确保数据结构的紧凑性。

嵌入式RTDBS您都驻留在内存中以获取实时数据,并且系统很少进入Xing磁盘I / O操作。因此,其索引结构着重于Jue时间和空间的成本。它的建立原理是快速定位并节省空间。常用的数据库所引用的结构是顺序结构,B树,AVL树。顺旭结构可以存储在数组中。它的优点是访问器是Bian,但是对于动态维护不方便。当执行诸如Zuo之类的插入和删除操作时,需要移动大量数据。 B树是使用最广泛的树og真人 ,它具有良好的运行性能和动态性,易于维护。 Dan的每个节点的数据覆盖率仅为55%[3],Cun的存储效率太低; AVL树具有较高的访问性能,但是Mei节点需要两个指针字段和一些附加的Control Xin信息,存储效率不高。它们不是嵌入式实时环境Xia的最佳选择嵌入式实时数据库,因此在上述结构的基础上,已经出现了许多适用于嵌入式数据库系统的改进的De索引结构嵌入式实时数据库,例如T * Shu索引结构。改善内存数据库的性能。 [4]这是一种改进的T树结构。 Ta具有比AVL树和B树更高的空间利用率。尽管Ran搜索时间的复杂度略高于AVL树,但是内存中的Zuo操作使其搜索时间足以满足实时要求。这种结构减少了节点之间元素移动和平衡处理的次数。 Jiaohao考虑了时间和空间之间的关系,并且是适用于嵌入式Ru型系统的索引结构。 ,针对嵌入式Xi系统I / O操作性能的不平衡B树索引结构[5],Zhu希望减少对存储块的写入次数。该索引结构De节点由几个关键字和指针字段组成,每个指针Zhi均使用相应的关键字记录到文件。由于未对B树执行ping操作,因此避免了B树为调整平衡而产生的其他Bu拆分数目,从而提高了系统的写入性能。

RTDBS嵌入式RTDBSXi系统是用户和实时操作系统之间的软件层。它由Zhong多个程序模块组成。其功能是有效组织,管理和访问Zhong数据库的共享数据。 Qi结构如图4所示。其中,存储空间管理模块,安全性和完整性控制模块,事务并发控制控制模块,实时数据转储模块和运行日控制管理模块是其中几个。在嵌入式环境中开发实时数据Ku系统时需要解决的特殊解决方案。问题:(1)存储空的Jian管理模块。由于Cai在嵌入式实时数据库系统中使用内存数据库技术,因此它必须涉及嵌入式Ru操作系统的内存管理。因此,用户必须了解Xi系统的内存分配机制。 ,并设计自己的内存关处理程序,系统运行时,模块通过实时OSXiang系统申请内存缓冲区,并将其用作共享内存数据区,之后,将历史数据中的初始化数据进行传输数据库到内存区域Dui。初始化空白内存。对于内存空间的申明,用户可以使用静态分配。此方法实现了Jane Dan而没有复杂的索引结构。缺点是丢失了Ling活动。在设计阶段预先需要内存; Dui进行分配;或采用动态分配方法; Zhong方法具有灵活性,可以根据需要扩展数据节点。 t建立合适的索引结构以加快Shu数据的检索时间。

模块应根据特定的实时OS执行She计算; (2)数据安全性和完整性控制模块。在Shi数据库的设计中必须考虑数据安全性。一方Mian表示用户访问数据的合法性。另一方面,Shi表示安全性完整性意味着用户对真实Shi数据或历史数据的各种操作必须符合一定的Yu含义,这可以通过完整性约束来实现;(3) Shi服务并发控制模块。实时数据库是一个共享的Zi源,允许将多个任务一起使用,如果不控制并发任务,可能会导致任务无法正确读取Huo存储数据并破坏数据一致性,因此,在实际的数据库系统中,必须有一个良好的并发控制Ji系统传统数据库通常使用锁定方法,Lei类似于实时操作系统中的信号量,必须根据具体应用确定阻塞颗粒Du的大小。离子系统。 Tong数据库被发送以获得锁。开销很小,因此通常选择小粒度的丰级锁单元来增加系统的并行性。但是,在Shi-time数据库系统中,事务获取锁的开销等于处理数量Ju的开销,并且块大小太小会降低系统Tong的性能,因此实时的阻塞粒度通常选择数据库作为Ze关系表的单位(例如,模拟量关系表为Yi封锁单位)。这降低了并发控制机器Zhi的复杂性,并减少了系统的开销,提高了Shi事务处理的整体性能; (4)实时数据转储模型Kuai。

此模块实现的功能是将实时数据存储为Li历史数据。通常,模块首先将历史数据保存在Zai内存缓冲区中,并在缓冲区已满时写入磁盘一次。当读取历史数据时,首先从缓冲区中获取数据,当Qu不可用时读取和写入文件,此方法可以减少磁盘I / O操作的数量。并且仅存储已更改的数据Jin行,从而节省了外部存储空间,而不会影响系统的Xing性能; (5)运行日志管理模块。日志文本Jian在数据库恢复中起着重要的作用,如Yong,可用于执行事务故障恢复和系统故障恢复。Ri日志缓冲区专用于存储数据库记录Tong的数据库日志记录包括记录名称,更新之前记录的Jiu值,更新之后记录的新值,事务标识符以及嵌入式实时数据库系统中的Lei操作,以减少Xi系统的开销凤凰彩票官网 ,日志记录不包括新旧记录值,Dui日志记录的写操作仅在缓冲区上执行,当缓冲区为Man时,由磁盘写入,操作为Tu4嵌入式RTDBS模块结构RTDBSWo已基于嵌入式Zuo系统VxWorks开发了用于测控系统的实时数据库系统。系统使用Intel486系列PC104 CPUBan,并且用户可以使用PC104硬件平台上的显示界面添加或删除相应的数据节点。整个应用程序系统的Tong结构如图5所示。

系统分为两部分:内存数据Ku和历史数据库。内存数据库是根据Shu实时更新的数据库系统。初始化应用程序后,Jing状态将创建一个大型缓冲池,用于存储各种类型的Xing数据。该节点使用空闲链表来管理缓冲池中的空Xian单元。当程序添加一个新节点时,它首先从空闲链表中找到Dao空闲单元,并将其分配给用户,然后链表中的节点被Shan划分。当缓冲内存不足时,通过VxWorksZhong提供的增强的内存分区管理库MemLib,Cong系统内存将动态申请缓冲池作为新的Huan刷新池。动态内存分配方风格的这种静态组合可以克服内存碎片,同时也避免了静态子表中内存数据库容量太大或太小的问题;对于Yu数据索引结构,考虑到实时系统中的数据检索和Geng更新非常频繁,并结合系统性能要求,输入Qian在RTDBS中,我们使用L树的索引节点Gou,结合了B +树,T树和AVL树。它的每个节点都可以包含多个关键字,并且空Jian利用率很高。 ,是支持内存数据库的更好的电缆阴结构;在优先级驱动的实时事务控制Zhi中,事务截止日期被映射到事务优先级,并且最简的顺序是先来先服务的FCFS分配。由于该策略没有考虑倒计时的限制,因此由于不适合实时系统,因此我们采用了最短期分配策略;此外,对于Ju数据库的管理,我们提供了传统的数据库管理功能,例如添加,删除,修改和显示,用户必须以与Ying相同的权限进入系统才能进行操作。 Display Xi系统是使用VxWorks中的图形软件包ZincJin开发的。整个系统运行稳定,可以满足实时系统的Shu数据管理要求。图5 Qian的嵌入式实时数据库应用图在Mu之前,嵌入式环境下的实时数据库开发中仍然存在许多亟待解决的问题。实际应用中的性能需要进一步提高。关键在于实时系统的存储结构,数据访问速度,实时事务的优先级调整和故障恢复是提高实时数据库性能的关键,也是实时研究的重点。数据库系统理论。

老王
地址:深圳市福田区国际电子商务产业园科技楼603-604
电话:0755-83586660、0755-83583158 传真:0755-81780330
邮箱:info@qbt8.com
地址:深圳市福田区国际电子商务产业园科技楼603-604
电话:0755-83174789 传真:0755-83170936
邮箱:info@qbt8.com
地址:天河区棠安路288号天盈建博汇创意园2楼2082
电话:020-82071951、020-82070761 传真:020-82071976
邮箱:info@qbt8.com
地址:重庆南岸区上海城嘉德中心二号1001
电话:023-62625616、023-62625617 传真:023-62625618
邮箱:info@qbt8.com
地址:贵阳市金阳新区国家高新技术开发区国家数字内容产业园5楼A区508
电话:0851-84114330、0851-84114080 传真:0851-84113779
邮箱:info@qbt8.com