嵌入式数据库管理系统

2024-05-31

嵌入式数据库管理系统(精选十篇)

嵌入式数据库管理系统 篇1

1 嵌入式数据库管理系统的特点

相对普通数据库管理系统而言, 嵌入式数据库管理系统有其自身的特点:

1.1 数据同步

由于移动设备的资源限制, 嵌入式数据库管理系统一般和应用系统集成在一起, 作为整个应用系统的前端而存在, 而它所管理的数据集可能是后端服务器数据集的子集或子集的副本。嵌入式数据库一般采用某种数据复制模式 (上载、下载或混合方式) , 与服务器数据库进行映射, 以满足人们在任意地点、任意时刻访问任意数据的需求。由于存在数据复制, 所以在系统中各个应用前端和后端服务器之间, 可能需要各种必要的同步控制过程, 甚至某些或全部应用前端、中间也要进行数据同步。

1.2 简化的备份、恢复方式

嵌入式数据库的备份和恢复与大型DBMS管理数据库不同, 不能简单以独立的服务或类似形式进行, 而要按照某种简化方式完成。嵌入式数据库系统中的事务处理在前端可以简单化, 但在整个应用系统中, 可能需要结合移动计算环境的特征进行事务处理控制。

1.3 高安全性、高可靠性、零管理

嵌入式设备上的数据库系统, 对存取权限的控制较严格。而许多嵌入式设备具有较高的移动性、便携性和非固定的工作环境, 这些也给嵌入式移动数据库带来了潜在的不安全因素。再有就是某些数据的个人隐私性很高, 因此在防止碰撞、磁场干扰、遗失、盗窃等对个人数据安全的威胁上, 也需要提供充分的安全性保证。由于嵌入式数据库管理系统是运行在嵌入式设备上, 所以它的运行基本上不需要人的参与。这就对系统的可靠性和安全性提出了比较高的要求, 并且系统要能够实现零管理。

1.4 平台无关性

在嵌入式领域, 硬件平台和嵌入式实时操作系统可谓种类繁多, 而每一种嵌入式应用都是运行在具体的硬、软件平台上的。嵌入式数据库管理系统的设计必须做到和操作系统底层的支撑软件之间的接口尽量简单, 这样才有利于系统的移植, 做到平台无关性。

1.5 系统可利用的资源紧缺, 硬件速度慢

嵌入式软件的运行环境是比较差的, 较慢的CPU和总线速度。小容量的RAM和ROM, 都对嵌入式数据库管理系统的设计产生了很大的影响。要保证在有限的资源下, 系统能正常运转, 就必须对系统的资源使用进行认真的控制;要尽量提高系统的运行速度, 就必须对系统耗时多的操作所使用的算法进行精心的设计, 尽量消除系统的性能瓶颈。

2 嵌入式开发对数据库的需求

在众多的数据库中, 如何选择适用于嵌入式系统的数据库呢?嵌入式系统开发环境决定了其对数据库需求的特点。1) 适当的体积。嵌入式系统对于数据的存储与程序的运行一般都有较强的空间限制, 所以适用于嵌入式系统使用的数据库首先应该有一个适当的体积。2) 较强的功能。嵌入式开发中有很多应用, 用户需求决定了开发中需要有一个大小适中且功能齐备的数据库来实现对数据的管理。对开发人员来说, 要求采用的数据库技术提供完备开发的文档而且易于开发。3) 开源的代码。作为产品的开发, 开源的代码不仅可以减少产品的生产成本, 更重要的是为产品的维护完善和稳定运行都提供了最为彻底的解决手段。数据库技术中, Oracle、Sybase、Informix、IBMDB2等大型数据库功能强大, 系统体积庞大, 要求付费使用, 仅适用于作为大型商业数据库。MSQL在保持中等体积的情况下, 提供了较为适用的功能已经成为中小规模数据库应用的首选, 但商业应用也要收费, 而且对于嵌入式开发来说空间占用仍然太大, 目前还不适用。MSQL是一种简化的SQL数据库, 短小精悍, 开发方便, 适用于嵌入式开发;但MSQL只有30天的使用期限, 并非完全的开源。余下的开放源码数据库中, Postge SQL是Linux下最完善的开源SQL数据库, 但体积也较大。Bcrkeley DB作为完全开源的嵌入式数据库速度极快, 可靠性高;但学习起来有一定难度, 必然会加大开发成本。SQLite则简单易用, 速度也很快, 同时提供了丰富的数据库接口, 功能虽较Berkeley DB略有逊色, 但在开源社区的推动下差距正在缩小。它的设计思想是小型、快速和最小化的管理。这对于需要一个数据库用于存储数据, 但又不想花太多时间来调整数据性能的开发人员很适用。实际上在很多情况下, 并不需要存储程序或复杂的表之间的关联。这时会发现SQLite在大小和功能之间找到了一个理想的平衡点, 完全的开源代码使其可以称得上是理想的“嵌入式数据库”。

3 结语

尽管目前已经有不少嵌入式数据库管理系统问世, 但鉴于嵌入式领域的特点, 应用需求多种多样, 计算平台也是各有特色, 基于同一开发平台, 嵌入同一操作系统, 也会有很多数据库可移植, 没有任何一家厂商能够做到一统天下, 嵌入式数据库产品还很难形成统一的标准, 整个市场的需求空间仍然很大, 对嵌入式数据库管理系统的研究, 也还有很多工作要做。

参考文献

[1]陈文智.嵌入式系统开发原理与实践[M].北京:清华大学出版社, 2005.

嵌入式数据库管理系统 篇2

2.1数据管理技术应该具有针对性

①嵌入式系统应用数据库管理技术主要是运用在复杂程度较高以及难度较大的问题处理,对于某些简单的程序则不适合使用。②针对复杂程度高以及难度较大的程序,可以嵌入式系统应用数据库管理技术,从而提升高难度问题的解决速度,不但提升相关人员的.工作效率,而且减轻相关信息管理人员压力。

2.2数据管理技术应该具有社会适应性

嵌入式系统的数据库管理技术对于企业而言,属于经济效益显著、机遇发展较大的形式,大部分企业已经充分落实嵌入式数据管理技术的发展,提升了作业效率。嵌入式系统管理技术由于竞争较为记录,对应管理框架、架构基础等需要进行开放性、适应市场的调整,保证对应嵌入式系统应用数据技术的全面发展。

2.3嵌入式数据管理技术需要具有实用性

嵌入式系统应用数据库管理技术主要是在无人干预的状态下,其自主运行,这就必须要求相关程序编写过程中,预知问题以及解决问题的程序应当都在相关软件之中,而且要求给其他的程序留下一定空间,从而保障系统运行正常稳定。此外,嵌入式系统应用数据库管理技术只有具有一定的底层控制力,才能保障整个操作系统的稳定运行,因此,应当建立相关可靠、安全的嵌入式系统,就应当从数据库信息管理建立的时候就匹配好相应数据库。

2.4嵌入式数据管理技术需要具有实时性

当代社会属于信息型社会,各种高新技术产品、信息产业的发展较快,为了保证信息管理技术的与时俱进,需要加强对数据库信息管理的优化调整,保证企业的经济效益、工作效率不断提升,为此,必须不断加强新型数据库管理技术的发展,保证市场竞争实力的增强。为此,加强数据库信息管理技术的不断发展创新、完善优化,是保证嵌入式系统应用数据管理技术实时性的关键举措。嵌入式系统正面临着经济发展迅速、科技化发展提升的状况,需要从商业、工业角度出发,进行自动化产品的制造处理,满足现代商务需求,并进行相关实验分析,保证系统升级、系统换代等工作的顺利进行。

3结语

嵌入式数据库管理系统 篇3

关键词:SQLite;嵌入式;数据库

中图分类号:TP31文献标识码:A文章编号:1007-9599 (2011) 07-0000-01

SQlite Database Application in Embedded Systems under Linux

Li Wenhao

(Xiamen University,Xiamen361005,China)

Abstract:SQLite is a excellent open source embedded database used for free,small,fast,easy to use and has reliable performance.During the construction of the distribution system,we need to manage a lot of data.It's simple,convenient and flexible to access programming the SQLite database under Linux environment.As so,building a database using SQLite embedded database applications,is an economic and efficient solution.

Keywords:SQLite;Embedded;Database

SQLite是D.Richard Hipp于2000年采用C语言编写的一个轻量级、跨平台的关系型数据库,支持大部分SQL92标准,支持弱类型数据存储,开源免费。主要由3个子系统、8个独立的模块构成,其体系结构如下图所示:

其主要部件介绍如下:

1.接口:由两部分组成:核心API(core API)和扩展API(extension API),核心API的函数实现基本的数据库操作,扩展API通过创建自定义的SQL函数去扩展SQLite。

2.编译器:在编译器中,分词器和分析器对SQL语句进行语法检查,然后把它转化为语法树,再把语法树传给代码生成器(code generator)进行处理。而代码生成器根据它生成一种针对SQLite的汇编代码,最后由虚拟机执行。

3.虚拟机:架构中最核心的部分是虚拟机,用于解释执行字节代码。VDBE的字节代码主要集中在数据库操作,每一条指令都用来完成特定的数据库操作或者为这些操作栈空间的准备。

4.后端:后端由B-树,页缓存和操作系统接口构成。B-tree的主要功能就是索引,便于快速找到所需数据;pager的主要作用就是通过OS接口在B-tree和Disk之间传递页面。

本项目在Linux下SQLite的编程主要分为创建数据库文件、数据库连接两个方向:

一、创建数据库文件

下表是部分组成元素:

CREATE TABLE ftudata(

idINTEGER PRIMARY KEY, U1_abREAL, U1_bcREAL, U1_caREAL, I1_aREAL, I1_bREAL, I1_cREAL, P1_aREAL,--有功功率 P1_rREAL,--无功功率 P1_fREAL,--功率因数

switch_p1 INTEGER,--开关位置(0/1) switch_p2 INTEGER,--开关位置(0/1) sw_f_c1INTEGER,--开关的功能(0/1) sw_f_c2INTEGER,--开关的功能(0/1) communINTEGER,--通信(0/1) curr_pro INTEGER,--电流建断保护(0/1) no_vo_pro INTEGER,--失压保护动作(0/1) sw_num INTEGER,--开关的动作次数 sw_timeINTEGER,--开关的动作时间 err_num INTEGER,--事故次数 ImaxREAL,--最大故障电流 IavgREAL,--平均电流 IproREAL,--过流建断保护定值 UproREAL,--失压保护定值 back1INTEGER, );

库文件中主要设置了电流电压量、功率参数等,back1则作为预留空间,可以进行功能扩充之用。

二、数据库连接(以插入为例)

插入:

Int sqlite3_exec(sqlite3*db,/*An open database*/

const char*sql, /*SQL to be evaluated*/ int (*callback)(void*,int,char**,char**),

/*Callback function*/

void*, /*1st argument to callback*/

char **errmsg/* Error msg written here */

);

配电自动化是我国电力系统现代化建设的必然趋势,要实现配网的管理,数据的管理是其中的关键。在嵌入式系统下,SQLite数据库以其占用系统资源少、使用方便、性能可靠等特点广受欢迎。本文中对其进行了结构分析,并采用该数据库实现了电力系统中数据的管理。不足之处在于:SQLite通过OS的文件锁实现库级锁,粒度很大,对并发控制、数据加密支持的不是太好。以后将作进一步改进。

参考文献:

[1]杜国祥,石俊杰.SQLite嵌入式数据库的应用[J].数据库与信息管理,2010

[2]http://www.sqlite.org.SQLite官方网站

[3]http://www.cnblogs.com/hustcat.arrowcat's技术随笔之SQLite专题

嵌入式数据库管理系统的设计 篇4

嵌入式数据库管理系统, 也称为EDBMS, 是由众多模块组成微型数据库管理系统。在设计EDBMS时, 可以依据各个模块主要功能、功能间的依赖关系以及在EDBMS总体层次结构中所处的位置, 将其核心划分为3个部分:存储管理、并发控制以及事务处理。

1 存储功能的设计思路

数据库系统一般存在3种模式, 即内模式、外模式以及概念模式。EDBMS核心模块中的存储功能为这3种模式建立了很好的映射关系。主流的嵌入式操作系统如VxWorks, 由于具有很强的文件系统功能, 因此可以利用这个特点完成系统文件和数据文件在内外存之间的读写操作。另外, 在分布式环境下还需要在EDBMS上实现有关网络通信功能的模块, 可以称之为网络通信模块。当系统运行时, 存储管理模块可能要判断某个数据是来自于某个通信端口还是来自于本系统中的FLASH。而网络通信模块可以通过建立一个统一的文件视图, 在通信端口和内存间实现有效的映射, 使存储模块不必关心某个数据文件的来源。

存储管理功能的设计需要注意3个问题, 其工作流程见图1。

(1) 无论用户还是某个应用进程, 对数据库系统的操作一般包括数据的增、删、改、查、并归和排序等。在操作过程中, 可能出现在内存中多次复制同样的记录的情况, 这样会影响到系统的运行效率。因此可以完成一个能够在操作结果和文件之间建立映射关系的结构体——结果集。这个结构体的内容包括记录编号和文件FD。当应用程序需要访问数据时, 该结构体会根据其中的内容从打开的文件中取出。

(2) 为了防止由于频繁的写FLASH造成EDBMS性能的下降, 可以将页面中变动的内容暂存在内存中。该页就被内核标记为脏页, 内核将会在合适的时间如系统空闲或退出时把脏页的数据写到FLASH中去。这样不仅可以提高系统的工作效率, 还可以保持内存中的数据和FLASH中的数据是一致的。

(3) EDBMS是通过逻辑/物理地址转换功能实现数据库的外模式。在系统中, 用户数据文件是保存在内存中一片连续存储空间的二进制数值, 而应用程序的操作对象是二维表, 访问该数据记录时需使用表名、属性名和记录号。因此存储管理功能的逻辑/物理地址转换功能要根据数据文件中的头结构等参数完成结构体的字段。

2 并发控制功能的设计思路

进行并发事务处理的主要目的是为了保证事务处理的一致性和冲突解决的高效性。引起冲突的主要原因有两方面:①多个进程对同一个表项中的数据进行修改;②事务对数据先读后写造成的冲突。

在EDBMS中, 为了使进程间能够很好地通信, 可以运用“锁策略”实现多个并行的事务并发读取同一个数据资源。即通过加锁的方法实现多个并行事务对同一个表进行读操作, 但只能有一个事务对该表执行写操作的过程。这两个方面分别通过“共享锁”和“排他锁”完成。各个事务必须严格遵照“锁策略”的规则。

锁的操作分为上升阶段和释放阶段。当一个事务运用“锁策略”向数据库提出操作请求时, EDBMS会产生, SubTransaction进程完成该操作。这个时候为上升阶段;在整个操作执行结束后, 将释放该进程, 这个时候为释放阶段。

在并发处理功能中, 如何解决死锁是十分重要的问题。因此在EDBMS中可以引入死锁检测机制。即首先认为所有事务的调度是串行的, 不会产生死锁。每个等待死锁的事务上都给定一个时间戳。一旦有两个以上的锁节点上绝大部分的时戳超过了预设定的门限, 即认为有死锁产生, 就可通知监视模块, 进行相关的处理。

3 事务处理功能的设计思路

事务处理功能是嵌入式数据库管理系统十分重要的组成部分。它的主要任务是调度、管理分布式数据库上运行的事务, 负责子事务的初启与结束, 并监督执行。事务的状态有四种, 分别是开始事务、提交事务、回滚事务和事务恢复。

当用户的应用进程需要对数据库进行访问时, 这样的操作必须在一个任务中进行。每个任务中必然会有一个事务管理的操作, 其主要作用是保证对数据的安全访问。在事务开始时, 必须申请事务将要用到的所有锁, 当事务结束时, 释放所有的锁。

EDBMS事务处理功能要完成两个非常重要的工作。首先, 它要接受通过函数调用或通过消息机制的事务请求, 根据操作类型产生相应的事务管理进程。另外它还要按照可串行化调度的方法, 依据系统表或用户数据表的不同, 将每个具体的事务划分为若干“写”和“读”的序列。同时, 对于写事务产生相应的日志机制并协调日志管理模块的动作。EDBMS产生的所有可并发的读事务和写事务, 构成一个子事务空间, 这些子事务访问文件视图 (数据空间) 完成整个事务的阶段性操作, 这个过程同时受到并发控制模块的管理。事务处理功能的实现以及与其他功能模块的关系见图2。

4 模块间的交互

在嵌入式数据库管理系统中常见的功能模块包括初始化模块、异常处理模块、日志管理模块、备份还原模块、监视模块、网络通信模块以及上面提到的系统核心中的3个功能模块。模块之间的交互主要采用以下两种方式:借助消息队列发送控制消息和函数调用。

借助消息队列发送控制信息主要应用在进程级模块间的交互, 比如初始化模块和其他各模块间均采用这种方法进行控制信息转发, 这是因为消息队列只在进程级的模块中使用。例如, 当系统启动的时候, 初始化模块会通过消息队列发送INIT_ACK信号来同步各个模块的创建, 并通知存储管理模块对系统和用户数据区进行初始化。此外异常处理模块也是通过消息队列接收各个模块的告警信息。

在EDBMS内部, 各个非进程级模块之间的交互一般采用函数调用的方法。比如说对于用户表的操作模块往往会调用其他的四个模块, 因为对于用户表的操作可能需要其他数据的支持, 诸如数据字典、索引文件等。此外, 事务管理模块接受到用户请求后, 也会调用操作支持单元的函数, 创建相应的事务进程、子事务进程。而且子事务在执行的过程中, 如果出现文件尚未打开的情况, 这时会调用存储功能模块的全局函数, 实现对用户文件的I/O。

5 结束语

针对嵌入式数据库管理系统的核心功能以及各功能模块间的交互进行了论述。嵌入式数据库管理系统作为一类系统软件, 在设计时应严格遵循实用性、可靠性、先进性和易用性原则。在设计嵌入式数据库管理系统时应该把握好专用性的度, 以便于在实际应用时能根据具体情况进行裁剪, 而专用性是实现轻量型的基础。

摘要:设计了一种嵌入式数据库管理系统, 它以目前成熟的数据库技术为基础, 针对嵌入式设备的具体特点, 实现了对嵌入式数据库中数据的存储、组织和管理。对嵌入式数据库管理系统中几个关键技术的设计和实现进行了研究, 对于应用于嵌入式数据库管理系统的研究具有很好的参考价值。

关键词:嵌入式数据库,数据库管理系统,存储管理,并发控制,事务处理

参考文献

[1]龚崇超.嵌入式系统开发与应用[J].科技资讯, 2006 (18) .

[2]王金刚, 宫霄霖, 杨锡劢.基于VxWorks的嵌入式实时系统设计[M].北京:清华大学出版社, 2004.

[3]刘伟群.嵌入式系统及其应用技术特点[J].湖南人文科技学院学报, 2004 (2) .

嵌入式数据库管理系统 篇5

应用温室技术进行农作物种植是实现我国农业现代化过程中的重要环节,温度和湿度是温室控制中的重要环境参数.为实现对多点温湿度数据的.自动监测,设计了以32位ARM处理器S3C44B0X为核心的多路数据采集和处理系统.该系统采用单一采集中心和多个智能采集节点的分布式结构,节点与中心采用RS-485总线进行通信,采集中心实时地收集、处理和显示各智能节点传回的温湿度数据,可有效提高数据采集工作的效率和稳定性.

作 者:黄伟锋 叶祥 作者单位:黄伟锋(仲恺农业工程学院,机电工程学院,广州,510225;华南农业大学,工程学院,广州,510642)

叶祥(仲恺农业工程学院,机电工程学院,广州,510225)

嵌入式数据库管理系统 篇6

关键词:移动终端设备;嵌入式;数据库;安全性

【分类号】TP311.13

当今社会属于信息的时代,近年来移动通信的技术和嵌入式技术也开始不断发展,人们可以通过移动终端设备,随时随地的就在网络上获取自己需要的信息。目前在移动计算领域中,移动终端设备的地位越来越重要,人们的生活中也布满了各种各样的移动终端设备。但是科技发展的越快移动终端设备的信息安全性就会受到越多威胁,如果移动终端失去安全性,那么其应用价值也会遭到贬值,所以说嵌入式移动数据的安全性具有非常重要的意义。

一、移动终端设备的嵌入式数据库的概述

嵌入式数据库,也称移动数据库,主要是在移动计算的大环境下,在移动终端设备上得以运行的数据库。在数据库研究过程中,嵌入式移动数据库的研究是其热点。嵌入式移动数据库可以随时随地满足人们的信息,用户的使用具有周期性,可同步到后台服务器数据库,副本中信息的正确性要给予保证。

二、移动终端设备的嵌入式数据库的背景环境特点

(一)资源的有限性:和PC进行比较,移动终端在运算能力和存储容量以及安全管理等各个方面都具有很大的差别,在查询数据、存储管理、数据处理的过程中要给予高度重视,进行有效的优化处理,在一定程度上提高设备资源的利用效率。

(二)移动性:移动终端可自由设定,对GPS应用程序进行查询,其具体的结果和移动终端的具体位置具有很大的关系,如果时间和地点都不相同的话,这样查询的结果当然也是非常不一样的,这就需要嵌入式移动数据库,可以将位置有关的数据进行有效的处理。【1】

(三)断接性:流量的收费情况和互联网技术等方面对于移动终端都具有不同程度的限制,PC可以一直处于连接的状态,但是移动终端却不能满足这样的条件。移动终端和服务器的正常通信在一般情况下都处于断接的状态下。

(四)缺乏安全性:移动终端很容易丢失或被他人盗窃,还会受到磁场的干扰,在移动终端中存在很多不安全因素,因此需要加以注意。

三、移动终端加密设计思路

(一)绑定设备

当在后台服务器中注册成功后才属于合法设备,只有满足这样的情况,才可进行访问操作。否则要及时在收集客户端时将具体的应用设备进行安装,也没有办法进行正常使用,针对需要安装的客户要提示其进行注册。如果具体的用户对设备进行更换要重新进行注册,再次安装。这样一来,合法用户具体的使用数量得到了比较严格的控制。这样的加密思想,在使用应用程序过程中在源头上就已避免非法用户出现。当用户注册后,就成为了合法用户,对于应用程序要进行安装,完成这些必要的工作,才可以进行访问。【2】

(二)绑定客户

这主要是对手机客户进行绑定,加密密钥主要由唯一特征和设定的口令密码两个部分组成,这样的组合是准确的加密思想。将密钥组合的方案进行使用,这样即使手机丢失或者被他人使用,非法用户对系统数据也无法造成威胁。

(三)数据库加密

上文说的加密措施主要都是对非法客户采取的措施,但是如果面对技术高超的黑客,那么刚才说的措施对于黑客来说,根本阻碍不了他们的行动。想要实现CEIIS核心基础就需要对数据库采取加密技术。针对这样的加密措施,只是在服务器中实现,使手机客户端不再具备那么多负担,可以有效提高系统对信息查询的实际效率。移动信息系统可完成一些特殊的查询操作,但是这样就不能完成信息的更新和客户端维护。当智能手机连入网络,后台服务器对于数据库完成一定的加密操作之后和手机同步,这样就形成了手机数据库副本。

(四)数据库解密

当后台服务器中的数据和手机同步后,针对手机中的副本数据库,要经过详细的解密操作,这样用户才会得到所需要的明文信息。对数据库进行解密需要在手机客户端中完成,其具体的解密算法要尽可能简单、高效并首先满足数据安全,这样在系统运算过程中,其运算效率才不会受到影响。如果手机处于受限的状态下,对于耗时的数據进行性加密操作,对系统的运行效率会受到严重影响。【3】

后台主服务器数据库在传输的过程中其数据的安全性要给予一定的满足,这样数据才会在安全的环境下进行传输。

结束语:

通过以上的综合论述,本文主要针对移动终端设备的嵌入式数据库安全性进行研究,首先对移动终端设备的嵌入式数据库的定义进行基本概述,其次对移动终端设备的嵌入式数据库的特点进行详细描述,主要针对移动终端设备嵌入式数据库的安全性进行具体论述,以此更好适应时代的发展需求。

参考文献:

[1]邬明豪. 基于WINCE嵌入式的移动彩票销售系统的设计与实现[D].电子科技大学,2013.

[2]顾伟. 嵌入式数据库研究及在家居能源控制系统中的应用[D].南京航空航天大学,2012.

[3]张荣鉴. 移动计算环境下嵌入式数据库在换装软件中的研究与应用[D].长春理工大学,2013.

嵌入式数据库管理系统 篇7

当前,消费电子、信息家电、移动商务兴起,嵌入式设备应用可谓“无处不在”[1]。而资源紧缺的嵌入式设备无法运行通用数据库管理系统,采用文件系统存取数据也存在诸多不足[5]。一些著名的数据库厂商利用自身优势,纷纷推出了自己的嵌入式数据库管理系统,如国外Sysbase的SQL Anywhere、IBM的DB2 Satellite、Oracle的Oracle Lite、以及国内东软的Open Base Mini与人大金仓的King Base Lite等。但鉴于嵌入式设备应用环境的多样性,很难用某几种嵌入式数据库产品满足所有嵌入式应用的需求。为了能在ARM实验教学平台上支持数据库仿真教学操作并能为以后的移动PDA项目提供数据管理功能,经过分析决定开发eDBMS。

1 eDBMS的体系结构

嵌入式设备本身所固有的资源局限性,运行的只能是一个简化的嵌入式数据库系统,eDBMS的体系结构框图见图1。

①API函数接口层是系统的外部接口,由eDBMS提供给应用开发人员使用,应用开发人员只要掌握这些API接口函数的使用,就能轻松快捷的在嵌入式系统中完成对数据的统一管理。②SQL解释器主要完成SQL语句的解析工作。③执行引擎(EXEC)对解析后的指令进行操作。④Btree将内存中的操作数据组织成B+树,由执行引擎调用完成数据的增、删、改、查。⑤缓冲区管理Pager是一个内存池管理机构,当有Btree模块有对B树的操作请求时,缓冲区管理器将不在内存中的B树结点(Page)读入内存;将替换出的脏页数据写回磁盘,以保证数据库的ACID特性;内存淘汰策略采用LRU算法。⑥Flash存储管理器是内存与外存的接口,它负责将内存页中更改过的数据写入存储器,并将所需的数据库文件中的数据读入内存中。

2 eDBMS核心模块的实现

2.1 内存组织管理

uC/OS-Ⅱ的内存管理采用分页机制,事先将内存分成固定大小的页并组织成链表,当需要时从链表上取出一块将其全部分配出去,当不再使用时再整块回收,其优点是没有内存碎片发生,但eDBMS经常要申请大小不定的内存,无法满足要求。在研究MINIX内存管理机制后,对其改进加以使用。主要表现在:

①mem_init函数的修改,将eDBMS的内存做为一个大的内存块加入空洞链表中,在系统开始运行时,空洞链表中只存在一个大的内存块;②在eDBMS中,会出现内存大小不能确定的情况,需要根据实际情况动态调整获得的内存大小,增加了realloc_mem函数;③alloc_mem与free_mem的改进,将申请到的内存块的第一个字用来记录申请到的内存块的大小,free_mem只需用内存块的基地址一个参数就能释放内存。

2.2 Flash文件系统

在uC/OS Ⅱ嵌入式操作系统内核中,uC/OS Ⅱ本身不带免费的开源文件系统,在参考DOS系统、FAT格式的基础上实现了一个简易的FLASH文件系统,以满足要求。为了简化设计,FlashFS目前提供的接口见图2。且只针对一种固定的Flash存储器进行了实现。

2.3 eDBMS数据库的物理存储格式

eDBMS在逻辑上以页(Page)为单位进行组织存储,每个数据库在逻辑上由N个Page顺序排列构成,为了兼顾性能,逻辑上一个Page与Flash存储器上的一个Page相对应,逻辑上连续的16个Page对应Flash上的一个Block,在FlashFS底层实现时,以Block为单位进行读写。当对数据库的记录进行首次读操作时,系统会将该记录所在的块(Block)读入文件的Buffer内存中,以后数据库管理系统对该块中的所有记录的操作都在内存中进行,这样能大大减小Flash的操作次数,提高效率。整个数据库的逻辑结构如图3。

每个数据库文件至少包含有3个Page,Page1中存放数据库的元信息,如数据库版本信息、数据库内空间组织信息等;Page2存储数据库中表、索引等模式结构信息;Page3存储表、索引中的记录数据信息。当数据库增大空间不够时,数据库文件在逻辑上向后顺序扩展,增加新的Page存储新增的记录信息。

每个数据库文件中可以包含一到多个表或索引表,每个表或索引可以占有1 到多个Page,每个Page至少存储4条记录。每个表在逻辑存储结构上组织成一棵B树,表的模式结构存储在B树的根结点中,每个Page成为B树的一个结点,一个结点存储多条记录,每条记录由Key、指针、Data三部分构成。记录按Key的大小以单链表的结构由小到大顺序排列。块内的空闲空间也用一个空闲单链表组织。Page的逻辑存储结构描述如图4。

rightChild指向B树中的右节点Page,在右节点中的任一记录的Key值均大于本Page内所有记录。Page内的空闲单元也以单链表方式组织起来,在每个空闲块的起始位置存储一个FreeBlk结构。添加记录时先从Page的firstFree空闲资源链表中申请。当超出Page的容量时,申请增加新的Page。

2.4 记录的表示

eDBMS的记录采用变长记录存储格式,规定一个Page至少要存储4条记录。当记录超过最大长度值时,则为该记录动态申请分配一个Page作为溢出块,设置一个溢出块指针ovfl指向一个溢出块,将多出的信息存储在溢出块中。

Page中的记录以单链表结构链式存储,在记录增加、删除过程中无须频繁移动数据,当Page中的可用空间大于要插入的记录却没有一块可用空间能容纳记录时,对Page进行碎片整理,腾出空间以插入新记录。记录结构如图5。

2.5 数据库模式结构的存储表示

数据库模式是用来描述数据库结构的,eDBMS只记录基本表、索引表的关系模式。每个表的关系模式用一条数据库记录表示,存储在数据库文件中的Page2中,当Page2空间不够时,在数据库文件中申请增加一个新的Page或再利用库中的空闲块存储。数据库文件中所有存储关系模式的Page组成链表。

每个关系模式包括模式名称、类型、字段的数量、字段的类型、关键字,记录存储的Page号等,由于本系支持标准的SQL语句操作数据库,因此将建立关系模式的SQL语句作为模式结构存储在数据库中。每次在数据库启动时自动提取关系模式的信息。

关系的模式的记录表示如图6。

图6中Pi为指针,记录后面字段的信息,Name存储模式名称即表名,Type指示此关系模式记录是一个基本表还是一个索引表,PgNo指针记录与此关系模式相对应的记录在数据库文件中的存储位置,SQL存储创建此模式的SQL语句。其他信息与记录的信息完全相同。

整个数据库文件的逻辑存储关系结构如图7。

由图7可以看出,数据库的存储结构以B+树结构来组织。当先序遍历B树时会得到一个Key值有序的记录集。当对记录进行查询时,采用二分查找算法,提高执行效率。

2.6 缓冲管理器Pager

为了提高执行效率,数据库的大量操作如查找、排序、添加都是在内存中完成的。而在嵌入式系统中,内存有限,不可能完全在内存中容纳整个数据库,因此需要利用有效的算法对内存中的缓冲区进行管理,以最大限度的提高内存的利用率,提高系统的性能。本系统根据数据库文件在逻辑上分页的存储结构,采用LRU算法进行页式存储管理。缓冲区管理器将内存按数据库文件的Page的大小进行分页,在内存中建立起一个Cache缓冲池。内存中的每一页对应数据库文件中的一个Page。当Cache缓冲池未满时,Pager将要访问的数据库页读入缓冲池进行管理,当缓冲池达到限定状态时,按照LRU算法,Pager将最近最少使用的Page交换出缓冲Cache,而将新的要访问的Page加入Cache池中。缓冲池中的Page以双链表结构管理,为加快Cache中Page的查询,系统按Page逻辑号另建立一个哈希Cache索引表,根据Page逻辑号能迅速找到指定的Page。

2.7 数据库的表、记录管理

eDBMS采用B树结构来实现对数据库记录的管理。因为B树能自动保持与数据库文件大小相适应的索引层次,查找效率高;且对空间的利用率相对较高,在数据库文件中,每一个关系模式中的记录都是以B树结构的形式进行存储。系统对数据库文件中的每个关系在内存中都实例化成一棵B树。一个Page为B树的一个结点。数据库记录的所有操作都是先在内存中的B树上完成的,然后再提交改变到Flash物理存储器上。一棵B有三层:根结点、中间层结点、叶结点。每个结点可存储N个查找Key与N+1个指针。B树的结构布局由N决定。N越大,B树的层次就越少,查找效率也越高。但在实际操作中,N的大小到受存储块大小的制约。eDBMS中实现的B树存储,N最小值为4,上限没有限定,受存储块(Page)上记录大小的影响而变化。另外,在B树结点中,每个结点是由N个二元组(指针、键)构成的,而本系统是实现的B树每个结点由N个三元组构成(指针、键、数据)。指针是TupleHdr.leftChild,指向Key值小于当前记录的存储块(Page)。键和数据组成一条记录。

2.8 SQL解释器

eDBMS系统提供一套查询系统,考虑到在嵌入式数据管理应用中,一般不需要支持复杂的查询功能。因此,系统只考虑支持一些常用、简单的SQL语句,以完成系统的基本功能。在本系统中,采用一个语法分析器产生工具Lemon,它由语法规则描述文件gram.y、语法解析器程序模板lempar.c与语法生成工具lemon.c三部分构成。其中gram.y与lempar.c由用户根据要求编写。

下面给出本系统SQL语法中Create table语句的规则的部分描述。

3系统使用实例

3.1 命令行接口使用实例

使用eDBMS提供的命令行接口,用超级终端从串口操作NetARM300上的数据库,运行下列SQL语句:

显示结果如图8。

3.2 API接口使用实例

eDBMS提供一个已编译好的库文件eDBMSlib.alf与C语言头文件eDBMS.h,在嵌入式数据库应用开发中假设要使用eDBMS创建一个表并插入两条记录。

建立的C语言源文件test.c如下:

4 结束语

嵌入式数据库技术是一门新的数据库管理技术,本文在当前流行的嵌入式处理器架构ARM核与开源嵌入式实时内核uC/OSII上设计并实现了一个嵌入式数据库系统eDBMS,并成功的在ARM实验教学平台上运行,解决了嵌入式系统中数据库仿真教学操作的问题。系统具有微小内核结构,整个系统的代码空间为100 K左右,需要内存空间只有30 K左右。为了提高运行效率,系统采取了多种措施,比如通过页缓冲管理机制,尽量减少系统读写Flash的次数,通过查询算法优化,减少数据操作的时间,通过提供单独的进程对Flash上的存储空间进行擦除、碎片整理等功能来优化系统性能。下一步可考虑增加系统的同步模块Sync,实现eDBMS与中央服务器数据库的通信和数据交换,解决移动PDA项目的数据存储问题。

参考文献

[1]王苗田.嵌入式系统设计与实例开发—基于ARM微处理器与uC/OS-Ⅱ实时操作(第2版).北京:清华大学出版社,2003

[2]赵辉,刘志勤,胡宝成.基于嵌入式实时操作系统的文件系统的研究与设计.航空计算技术,2004;34(3):73—78

[3]姚泽勤,柏又青,马建峰.利用Lex与Yacc实现嵌入式SQL分析器.航空计算技术,2002;32(1):51—58

[4]Garcia-Molina H,Ullman J D,WidomJ.Database systemimplemen-tation.北京:机械工业出版社,2001

[5]杨进才,刘云生,覃焱风等.嵌入式实时数据库系统的存储管理.小型微型计算机系统,2003;24(1):42—45

[6]何先波,钟乐海,芦东昕.嵌入式操作系统封装层的设计与实现.计算机应用,2003;23(5):89—91

[7]Stonebraker M.The postgres storage system.Proc1987VLDB Confer-ence,Brighton,England,Sept.1987

[8]Stonebraker M,Rowe L.The design of postgres.Proc1986ACM-SIGMOD Conference,Washington,D C,June1986

嵌入式数据库管理系统 篇8

关键词:嵌入式系统,数据库,信息管理技术

数据库信息管理技术的最主要特点就是不但可以准确快速通过相关运算完成后台以及前台的数据通信,而且可以同时将前台的多个操作数据库信息从文件当中抽取,经过相关转化以及传输之后,按照设定程序运行,根据软件的需求,数据信息管理技术可以进行多角度分析并且进行深入的加工,从而不但为用户提供方便服务,而且提升数据管理效率。其次,信息的传输过程中,其主要根据设定的程序进行相关信息采集、分析、处理工作。不仅如此,电脑可以通过自动检索方式,检测信息传递的长度是否可靠、准确、合法。

1 数据库信息管理技术内涵

数据库信息管理技术,其最早是运用在军事领域,主要作用是对军事武器的性能以及雷达的信号进行分析以推演。随着现代科学技术的不断发展以及社会不断进步,手工技术逐渐被制造业取代,涌现出一批高新技术产业,比如高新科技工程、基因工程、生物工程等。结合大量数据运算、人工运算,不但耗费时间、人力、财力,而且效率低下以及准确性不高,因此,相关政府改变策略,为了提升城市工业化、商业化以及经济发展,使用计算机数据库信息管理技术,从而大幅度提升信息数据管理水平。传统的工业加工逐渐被数控机床等设备所取代,嵌入式系统是在这样的背景之下产生的。此外,嵌入式系统的数据库信息管理技术具有一定的特殊性,因此,必须保障其在无人干预的状况之下可以自主运行[1]。

2 系统微型化特点

一般来讲,由于存储空间是制约嵌入式系统主要因素,因此系统微型化成为实现嵌入系统的主要点。其中,系统微型化主要包含两方面内容,分别是:数据库微型化以及管理系统微型化。首先,数据库微型化指,提高存储空间利用率,从而增加相关设备存储能力。实现方法关键是对模式进行优化以及数据进行压缩存储。模式优化常用方法是将模式进行水平分解以及垂直分解。其中,水平分解主要是根据相关条件将关系元组划分成为若干子集合并且将子集合定义为新关系。一般来讲,嵌入式设备上,数据只是大型关系一部分。可以采用这种方法把数据从中分解出来,不但形成子关系,而且有效减少数据存储量。其次,模式的垂直分解主要是将关系中经常使用属性分解出来,不但促使其形成独立子关系,而且有效减少数据存储空间。此外,数据压缩存储主要是数据库系统常用户数据存储方式,该数据压缩存储不但减小系统占用空间,而且进一步提高系统的安全性。总之,系统微型化主要方式是根据应用实际需要,合理选择系统的必要功能,因此,微型化以放弃系统完备性作为代价,其系统是相对精简。

3 指纹识别系统应用

数据库信息管理技术系统可以引入指纹识别,首先,指纹采集子功能系统相对强大,因此,可以有效对活体指纹进行相关采集。指纹采集系统的结构主要包括指纹传感器以及外围电路。其工作流程一般为:首先,客户需要进行指纹鉴别的时候,只要客户把手指按在指纹传感器之上,这样,指纹识别系统就可以快速有效采集指纹信息,并且及时将指纹信息进行记录以及存储,从而一定程度上避免了操作的复杂性,提高了人员管理效率。其次,指纹识别系统不但可以采集指纹的相关信息,而且可以将其特征记忆,在需要真实应用的时刻,系统可以根据接触的指纹进行记忆的搜索,搜索找到指纹信息之后,并且快速进行相关匹配,从而确定用户。实际上,指纹识别系统就是一个指纹收集、存储、匹配的系统,用户识别指纹的环节之前,可以将用户名以及标号设置在指纹系统当中,然后将手指按在指纹传感器上面,从而促使系统对接触的指纹进行信息采集,当信息采集完成之后,系统根据不同信息以及相关用户的姓名或者标号等进行相关整合匹配。用户需要对指纹进行识别的时候,可以将手指按在指纹传感器上面,系统便可以快速有效识别出用户的相关信息。

4 嵌入式系统应用数据库管理技术应用

一般来讲,嵌入式系统应用数据库管理技术不但符合社会发展以及人们生活需要,而且应用数据库管理技术能够帮助企业节约大量资源,从而提升企业的经济效益。通常来讲,嵌入式系统数据库管理技术应用主要注意以下几点:

4.1 嵌入式系统应用数据库管理技术应当具有针对性

首先,嵌入式系统应用数据库管理技术主要是运用在复杂程度较高以及难度较大的问题处理,对于某些简单的程序则不适合使用。其次,针对复杂程度高以及难度较大的程序,可以嵌入式系统应用数据库管理技术,从而提升高难度问题的解决速度,不但提升相关人员的工作效率,而且减轻相关信息管理人员压力。

4.2 嵌入式系统应用数据库管理技术应当具有社会适应性

一般来讲,嵌入式系统应用数据库管理技术对于部分企业而言,其属于一种商业机遇和挑战,因此,许多企业已经开始广泛在嵌入式系统应用数据库管理技术,从而提升企业工作效率。然而,由于嵌入式系统应用数据库管理技术广泛使用,这也导致嵌入式系统应用数据库管理技术的竞争特别激烈。此外,嵌入式系统应用数据库管理技术所提供的主要是管理架构,相关商家可以在架构的基础之上对其进一步开放,从而提升企业的工作效率以及市场竞争力,嵌入式系统应用数据库管理技术符合当代社会发展需求[1]。

4.3 嵌入式系统应用数据库管理技术要具有实用性

一般来讲,嵌入式系统应用数据库管理技术主要是在无人干预的状态下,其自主运行,这就必须要求相关程序编写过程中,预知问题以及解决问题的程序应当都在相关软件之中,而且要求给其他的程序留下一定空间,从而保障系统运行正常稳定。此外,嵌入式系统应用数据库管理技术只有具有一定的底层控制力,才能保障整个操作系统的稳定运行,因此,应当建立相关可靠、安全的嵌入式系统,就应当从数据库信息管理建立的时候就匹配好相应数据库。

4.4 嵌入式系统应用数据库管理技术应当具有实时性

随着社会信息技术的迅猛发展,各种高新技术产品更新换代的速度越来越快,和其相应的信息管理技术也随着技术的不断进步而发展。一般来讲,落后的数据库信息管理无法很好服务于现代企业,影响企业的工作效率以及经济效益,因此,应当注入新型的数据库管理技术,从而提升企业效率以及市场竞争力。这就要求数据库管理技术应当及时更新换代,与时俱进,从而与社会发展相适应,不断完善以及创新,从而不断提升数据库管理技术。因此,应当保障嵌入式系统应用数据库管理技术的实时性,从而保障数据库管理信息技术的长久性。

5 结语

综上所述,数据库信息管理技术对于企业的发展意义重大,随着科学技术以及时代的不断进步,嵌入式系统中数据库信息管理技术的应用不但提高了我国数据库信息管理的水平,而且提升了企业的工作效率以及经济效益,因此,相关人员应当加强对嵌入式系统中数据库信息管理技术的应用研究,从而促使我国信息技术水平提高以及经济发展。

参考文献

[1]雷志坤.嵌入式系统中数据库信息管理技术的应用[J].广东科技,2012(21):189-190.

嵌入式数据库管理系统 篇9

数据库信息管理的主要工作是采集数据、组织数据、存储数据、管理数据、运行数据等一些存储和应用的有效的技术支持软件。为设备管理人员及时有效的提供准确实用的相关数据。数据库信息管理最主要的特点是快速准确的运用数据运算完成前台和后台的数据通信。并且同时可以把前台多个操作型数据库中信息从相关文件中抽取出来,进行转换和传输进行集成分析运算之后按照相关设定的程序进行操作运行。根据软件设定的需要进行多角度的数据分析之后带动操作设备进行深层次的技术加工。为用户提供快捷方便的服务,由于数据的采集和利用在电脑的操作环境下处于良性循环的状态,为用户提供的服务性能也相对准确、稳定。信息在传递过程中主要依据数据库设定的程序运行,根据设定的程序进行信息的采集、信息的分析、信息的处理、信息的循环作业。做这些程序设定参数的工作时,电脑还可以自动检索通过信息传递的长度是否正确,信息是否合法运行,进行二次解析。解析数据通过信息传输形成文档形式加载在数据库列表中备案,方便使用者查询。

数据库信息管理技术,最早运用在军事领域对武器性能和雷达信号等军事领域数据进行模拟量的分析和演算。由于经济的发展社会的进步工业加工业的迅猛发展,手工技术逐步被机械制造业取代,高新科技工程、生物工程、基因工程的兴起,大量的数据运算、技术轨迹分析、用人工运算和分析不仅准确性差,还需要大量的时间和人力。政府为了加快经济发展的速度把计算机数据库信息管理技术大幅度向工业化、商品化领域倾斜。于是在传统的工业加工领域数控机床取代了普通加工设备。嵌入式系统应用和开发就是在数据库信息管理技术迅猛发展下诞生的。

高速发展的信息化时代,数据库信息管理技术为人们提供了高性能、低成本、低功耗的数控产品,实现了网络化设计、电脑自动检测、产品规范制造。由于数控机床具备网络自身接入的功能,所有的可操作机床可以进行技术支持型数据库联网,对数控设备进行整体的数据库信息管理统一联网。形成的数据库信息管理技术的实物应用模式管理,软件硬件相协调是扩大生产,提高产值,提高产业化统一管理的发展趋势。

2 嵌入式系统设计应用

嵌入式系统是一种专用的计算机控制系统设计成的装置或者机械设备的一部分,它以控制程序的形式存储在ROM中“嵌入式处理器控制板”上。嵌入式系统的应用范围十分广泛,手机、数字电视、多媒体播放器、数字相机、空调、自动售货机、医疗器械、数控机床等数字科技产品。嵌入式系统具体设计和应用方式是硬件软件结合方式。软件系统设计是根据相应的工作参数用计算机语言编写的工作程序。整个嵌入式系统设计主要围绕软件进行资源分配,模块功能划分,工作流程设计,整个软件布局的合理性是达到程序调试成功的关键问题。硬件设计是根据相应的参数要求对各种对应工作的功能性模块所需要使用的元器件进行选择和组合,进行制板加工和硬件试运行。

随着软件设计的不断提升,嵌入式系统的操作系统也不断的完善,嵌入式系统的实时性功能也不断的提高,更迅捷和稳定的提高嵌入式系统的工作效率。实时多任务操作系统将成为一种最先进的嵌入式系统的主流占据世界嵌入式系统的软件平台。我国的数据库管理信息技术也应该配合嵌入式实时多任务操作方式进行改良和优化。

嵌入式系统的应用面临着经济科技化高速发展的现状,必须满足各种工业和商业的需求,面对全程自动化产品的制造和大范围电子商务活动以及高度协同科学实验研究等多方面的需要,加大嵌入式系统的升级和换代是最具商业价值的研发工作。

嵌入式系统的应用范围以其分散的特性,不具备技术垄断的风险,即使面临着市场体系结构的问题,但是在不同的行业里有着不同的嵌入式系统领域不同的技术和产品在运营。创新的余地明显大于数据技术行业。

大多数商业用途的嵌入式系统都设计成专用低成本的任务产品,配合非常快的主频来满足嵌入式系统实时性的需求。有的商品则不需要高速处理的功能,只要通过特定的器件和软件来满足实时性需求就可以快速响应操作要求达到数据传输的目的。

3 数据库信息管理技术在嵌入式系统中应用的方法

嵌入式系统应用过程是:数据仓库积储和数据分析进行数据运行的过程。嵌入式系统的应用需要具备一个定义和构建维护数据库的接口,方便数据库信息的技术维护和管理。还有数据库信息管理和报告分析的可执行操作的系统工具软件。然后通过联机进行分析处理。数据库信息管理技术的核心理念是满足客户需求的支持,集成异构数据环境中的信息比单一的大型数据集中信息运算更加重要。

数据库信息管理技术在嵌入式系统中应用时对于简单的程序运行可以不使用操作系统,对于复杂的程序控制时,就需要单独设立相应的数据库信息分析运行系统,来控制内存、进行文件管理、集结运行数据分析、然后自动形成管理文件。建立应对复杂程序状态时设置的数据控制系统在节约时间、提高数据运算准确度的同时也减轻了工作人员的工作压力。

嵌入式数据库信息管理技术领域竞争十分激烈,数据库管理技术为商家提供的不仅仅是一种产品,主要的是提供一种数据管理的构架,在此构架上商家还可以开发相关的服务项目和应用技术,来满足不断发展的社会需求。数据库管理技术子啊嵌入式系统中的应用要想达到预期的效果必须进行系统集成,减去独立运行的数据库引擎,形成程序直接调用的关系对数据保存、调用、运行于设备同步的状态,形成独具特色的数据库管理技术。由于嵌入式系统自身的工作特性,决定了相关数据库存储运行空间的管理限制,必须保证数据库空间具备适当的体积进行数据整理、分析和运算。

嵌入式系统的数据库信息管理技术由于其特殊性,其设计特点必须能够在无人工干预的情况下自主运行。需要在数据库程序控制编写的时候把预知的问题和解决问题的程序写到软件里,并且预留可以相应的系统空间,来保证系统正常运行。数据库管理必须具备底层控制能力,来保证操作正常的进行。需要建立一种可靠稳定的嵌入式系统运行模式就要从数据库信息管理技术开始建立完善的大型的数据库配合无线通信网络技术信号接收,把数据库信息管理延伸到前台,创造便捷的服务。

嵌入式系统在工业控制应用中其数据库信息管理技术必须满足嵌入式和实时性的要求,嵌入式实时数据库是软件部分嵌入机械设备中的实时应用中进行工作的。工作方式是与具体的设备相互连接并且显示保存外部设备运行时产生的物理状态值。工业数控机床嵌入式数据库的实时问题、电话自动交换机的实时问题、国家水利电网的程控数据实时性管理问题、雷达跟踪军事作战系统的实时性问题等许多信息数据领域对嵌入式系统的实时性都有不同的需求。数据库信息管理技术在嵌入式系统中进行数据采集和处理,必须及时作出相应的反映,确保信息传输在最短的时间段生效,尽量避免因为时间延误给用户带来的损失。实时数据库不能只保持事务时间一致,同时更应该引起重视的是数据的时间必须保持一致。事务时态一致和数据时态一致最大限度的满足用户需求说来简单。详细的程序设计却需要大量信息的采集和运算,对相应的工作时态进行统一的分析掌握好定时性数据和实时性数据在数据库中的运算规律对数控设备的运行时限,开始时间、截止时间以及事务在规定时间段里运行的状态。数据库信息管理技术在分析正常运转的设备数据的同时主系统还可以持续的在外部操作环境中持续接受相关的操作数据。数据库信息管理在嵌入式系统应用中必须做到维护内部状态和外部状态相互协调的功能。数据库信息整理过程中根据接收到的实时数据的种类,进行不同数据时态的详细分析,结算时态一致的原则完全支持实时数据和实时事务协调处理。数据库信息管理技术在嵌入式系统中的应用最突出的表现是支持实时性数据的相关实时性事务处理。

4 结语

数据库信息管理技术是嵌入式系统应用中最主要的核心问题,数据库的管理技术水平直接影响到数据的组织、数据的储存、数据的管理、数据的运行等问题。由于嵌入式系统的商业特殊性决定了嵌入式数据库必须具备的实时性信息处理技术。为了适应嵌入式商品行业的发展壮大,和嵌入式系统商品的竞争,嵌入式数据库信息管理技术实时性功能的开发和运用是推动嵌入式系统更新完善的基础工作。

摘要:以数据库信息管理技术的特点结合嵌入式系统实际应用问题进行详细的分析,来提高数据分析的智能化管理水平,增强同行业商业运营模式的工作效率,为科技化商业发展提供有力的理论依据。

嵌入式数据库管理系统 篇10

重演技术已广泛应用于仿真和教学领域, 目前在工业、通信等应用领域系统层面的重演技术研究也越来越深入, 尤其在嵌入式应用系统中, 重演技术在系统故障分析和排除、工作流程分析和完善、系统效能评估、教学和培训等方面的应用地方越来越广泛。

当前的重演技术一般采用视频摄录设备录取系统工作过程, 事后重播方式实现, 这种方式较适宜实现单台设备工作过程的记录和重放, 但对于在空域上分散放置的大型系统而言, 具备以下劣势:首先, 记录和重演均需要多台视频摄录装置参与;其次, 录取和播放时, 多台装置间时钟较难同步;再次, 应用系统的实际设备不参与重演过程。

本文介绍一种适合于嵌入式应用系统的重演技术, 为系统配置一台数据录取和重演设备 (以下简称重演设备) , 结合系统自身的强实时性和强可靠性应用需求, 利用VxWorks操作系统的实时性、多任务环境和灵活的任务间通信机制1, 完成系统无人值守状态下的可靠工作, 并实现对系统工作过程的重演功能。重演设备结合系统内设备间采用网络通信的特点, 提供系统级的统一时钟基准, 应用嵌入式数据库技术, 实现在系统工作过程中自动记录工作数据, 事后并可任意选取时间段, 以系统实际工作数据驱动系统重演, 且重演过程中, 可随时暂停、倒退和设定重演速度, 便于系统故障排除、过程分析、研究和评判。

2、Berkley DB简介

大型数据库致力于解决复杂数据类型的处理和海量数据存取目的, 而嵌入式应用环境中的数据库管理技术则致力于解决个性化的数据存储需求2;结合系统应用需求, 选用嵌入式数据管理系统Berkley DB, 它是由美国Sleepcat SoftWare公司提供的一种开放源码的内嵌式数据库管理系统, 为用户提供可伸缩、高性能的数据管理服务, 用户可便捷的通过调用其API函数实现对数据的保存、查询、修改和删除等操作3。

2.1 Berkley DB的特性

Berkley DB是一款非常适用于嵌入式应用领域的数据库, 可应用于包括VxWorks、Linux等多种嵌入式操作系统中, 它主要具备以下特性:

(1) 内嵌式应用:应用程序代码和Berkley DB所提供的API库一起编译成可执行程序, 应用程序和DB库运行在同一地址空间, 可直接访问数据, 效率极高。

(2) 可伸缩性配置:Berkley DB最低300KB的文本空间需求, 可管理规模高大256T的数据库, 且支持高并发度, 以足够小的空间占有量运行于嵌入式系统中。

(3) 提供API直接对数据操作:Berkley DB使用C语言的API函数接口, 替代关系数据库中的SQL查询, 直接对数据操作, 简洁高效。

(4) 无特定的数据组织模型:应用程序无需把要存储的数据转换为数据库支持的数据类型, Berkley DB所管理数据的逻辑单位是若干个独立或相互关联的数据库, 每个数据库由许多记录组成, 记录被表示为 (关键字Key, 数据data) 对的形式, 以可变长的字符串来存储。

2.2 Berkley DB的使用

在应用程序中使用Berkeley DB提供的API函数即可进行数据库的访问和管理。其最基本的操作包括创建数据库、打开数据库、添加数据、查询数据、删除数据和关闭数据库等, 类似于文件系统的操作, 但其效率要高很多。

(1) 打开数据库:调用DB_create函数创建一个DB结构的句柄;调用DB->open函数实现打开数据库的操作。

(2) 添加数据:调用DB->put函数实现添加数据操作。

(3) 查询数据:调用DB->get函数实现数据查询操作。

(4) 删除数据:调用DB->del函数实现数据删除操作。

(5) 关闭数据库:应用查询完成对数据库的添加、查询、删除等操作后, 必须进行关闭数据库操作, 通过调用调用DB->close函数实现关闭操作, 使得将内存缓冲区的数据写入存储设备, 释放所占资源且关闭数据库文件。

3、应用系统及其工作方式简介

某项目的应用系统构成及信息流向示意图如图1所示。其中除系统综合控制设备为人工操控外, 信息采集设备、处理设备和数据录取工作状态下的重演设备均为无人值守设备。

系统正常工作时, 所有设备接收重演设备发布的统一系统时钟 (1ms时钟信号) , 以此为基准进行系统内网络通信。系统综合控制设备作为系统的显示控制和指令中心, 日常工作在全自动状态, 也可人工下达操控指令;负责接收信息采集装置A/B发送的采集到的探测数据信息, 综合处理决策后由处理装置A/B完成相应处理功能, 并完成系统内各设备的工作状态监控功能。重演设备可接收系统综合控制设备的数据录取命令, 自动将录取时刻作为关键字 (Key) , 将某设备的网络发送数据 (data) 成对记录到相应数据库文件中。

系统的重演工作由重演设备发起, 重演设备打开相应的数据库文件, 以重演起始时刻作为零时刻, 按照时钟基准信号, 同步将各数据库中查询到的数据, 以原始报文数据的格式发送给数据源设备, 数据源设备通过网络通信接收到报文后, 在接收到下一个时钟信号时, 将报文发送给目标设备, 以实现系统工作过程真实重演的功能。

4、系统重演的实现过程

一切重演技术的实现都基于对原始数据的记录, 无论是视频或其它类型的数据。记录数据的目的是为了满足重演时的使用需求, 所以记录数据的格式和方法要结合Berkeley DB数据库的特性和重演的数据需需求共同确定。

4.1 记录

如前文所述, Berkeley DB数据库系统具有将记录表示为 (关键字Key, 数据data) 对的形式, 并且可以将每条记录使用变长的字符串来存储。为实现重演时的全系统同步控制, 重演设备在系统工作时提供1ms的系统时钟基准 (若需要, 可提供μs级的时钟信号) , 以接收到数据录取命令的时刻作为T0时刻, 时钟计数器初始赋值为0, 此后, 每次时钟周期来临, 计数器依次加1。并以接收到数据录取命令的时间值命名为存储本次录取的数据库文件的路径名。

数据源分为两种类型:重演设备进行网络侦听接收到的数据 (简称侦听数据) 和重演设备接收到的系统内其它设备向他发送的网络通信数据 (简称控制数据) 。侦听数据为除重演设备外, 系统内其它设备间的网络通信数据, 重演设备通过网络交换设备 (网络交换机或HUB等) 的侦听端口侦收;控制数据实质上是其它设备间的模拟信号控制指令, 为实现系统的数据重演功能, 由发出指令的设备将其转换为网络通信数据, 并作为数据源发送给重演设备, 重演设备通过网络通信接收后实时记录。

重演设备接收 (包括侦听接收和网络通信接收) 到系统网络数据时, 若是侦听数据按数据流向命名该数据库文件名称, 如果是控制数据时, 是数据源设备名命名该数据库文件名称;并以时钟计数器的数值记为数据库文件中该条记录的关键字Key, 将接收到的报文数据记作数据库文件中该条记录的数据data。因为数据库文件中的记录均以时钟值为关键字Key, 所以采用B+树存储结构的方式。

4.2 重演

系统的重演过程由重演设备驱动, 需要人工交互配合完成。人工交互的内容包括选择进行重演的原始记录数据、选择改时间段记录数据的重演起始时刻 (也可全时间段重演) 、设定重演速度 (可人工输入数值, 将速度设定为时钟的整数倍, 即时以设定的时钟数替代1ms时钟驱动系统慢速重演, 便于观察和分析问题) 、暂停、倒退 (可人工设置倒退的时间值) 等内容。

为便于理解, 以下以正常速度、选择全时段数据为例描述系统重演的工作过程。首先, 全系统通过系统综合控制设备广播指令进入重演工作方式, 系统内的所有设备均依靠重演设备的数据报文驱动。

之后, 系统重演的人工交互操作全部在重演设备上进行。操作员通过人机交互界面选择要进行重演的数据和时间段后, 开始重演时应用程序打开该路径下的所有数据库文件, 并以此时刻作为重演的T0时刻, 将时钟计数器赋值为0。重演设备借助Berkeley DB数据库系统管理和查询数据, 打开在每个时钟周期来临时, 以时钟计数器的数值在每个数据库中查询关键字Key, 若有符合条件 (关键字Key与时钟计数器数值相等) 的记录, 就取出该记录中的数据, 通过网络发送给该数据的发送设备。

其它设备在接收到重演设备发送的报文数据后进行解析, 若为侦听数据, 则在下一个时钟来临时, 以网络通信的方式发送给目标设备;如果为控制数据, 则需按转换协议转换为模拟信号控制命令, 在则在下一个时钟来临时向目标设备发送指令。重演结束时, 必需关闭所有打开的数据库文件。

系统则可在重演设备的数据驱动, 全部实际设备参与的状态下, 与实际工作过程相比以滞后一个时钟周期的方式实现系统的真实工作过程的再现。

5、结语

本文针对采用视频录取/重放模式的重演技术在嵌入式系统应用中存在的问题, 提出了在嵌入式应用系统下基于嵌入式数据库Berkeley DB的数据重演解决方案。文章的形成来源于工程应用, 介绍的重演技术已在实际中得以应用, 并发挥了重要作用, 对开展系统层面的重演技术深化研究具有借鉴意义!但应用系统各设备间存在模拟信号控制指令时, 记录和重演需将其转化为数字报文执行, 需为重演设计专用的转换协议, 在今后研究中需要优化和完善。

参考文献

[1]孔祥营, 柏桂枝.嵌入式实时操作系统Vxworks及其开发环境Tornado.中国电力出版社, 2001.

[2]汪静.基于文件系统的嵌入式数据库的设计和实现――EDB的设计和实现〔硕士论文〕, 成都:电子科技大学, 2001.

[3]刘巍巍, 徐成, 李仁发.嵌入式数据库Berkeley DB的原理与应用[J].科学技术与工程, 2005.

上一篇:快乐属于童年下一篇:广告传播旅游文化