天津科技大学嵌入式操作系统第5章嵌入式数据库

上传人:共*** 文档编号:119050832 上传时间:2020-01-04 格式:PPT 页数:91 大小:391KB
返回 下载 相关 举报
天津科技大学嵌入式操作系统第5章嵌入式数据库_第1页
第1页 / 共91页
天津科技大学嵌入式操作系统第5章嵌入式数据库_第2页
第2页 / 共91页
天津科技大学嵌入式操作系统第5章嵌入式数据库_第3页
第3页 / 共91页
天津科技大学嵌入式操作系统第5章嵌入式数据库_第4页
第4页 / 共91页
天津科技大学嵌入式操作系统第5章嵌入式数据库_第5页
第5页 / 共91页
点击查看更多>>
资源描述

《天津科技大学嵌入式操作系统第5章嵌入式数据库》由会员分享,可在线阅读,更多相关《天津科技大学嵌入式操作系统第5章嵌入式数据库(91页珍藏版)》请在金锄头文库上搜索。

1、重点回顾 共享内存通信 获得一段共享内存区域:shmget函数的作用 是在内存中获得一段共享内存区域。 映射共享内存:使用函数shmat,它的作用 是将创建的共享内存映射到具体的进程空间 去。 撤销映射:shmdt函数用来撤销映射。 多线程编程 1 2 第5章 嵌入式数据库 5.1 嵌入式数据库概述 / 5.2 SQLite数据库 5.3 mSQL数据库 / 5.4 Berkeley DB数据库/ 3 5.1 嵌入式数据库概述 5.1.1嵌入式数据库简介 5.1.2 嵌入式数据库的特点及分类 5.1.3 嵌入式数据库的应用 4 5.1.1嵌入式数据库简介 嵌入式数据库将数据库系统与操作系统和具

2、体应用 集成在一起,运行在各种智能嵌入式设备上。 与传统的数据库系统相比,它一般体积较小,有较 强的便携性和易用性,以及较为完备的功能来实现 用户对数据的管理操作。 但是,由于嵌入式系统的资源限制,它无法作为一 个完整的数据库来提供大容量的数据管理,而且嵌 入式设备可随处放置,受环境影响较大,数据可靠 性较低。 5 5.1.1嵌入式数据库简介 在实际应用中,为了弥补嵌入式数据库存储容量小 、可靠性低的不足,通常在PC机上配置后台数据库 来实现大容量数据的存储和管理。 嵌入式数据库作为前端设备,需要一个GUI交互界 面来实现嵌入式终端上的人机交互,并通过串口实 现和PC机上主数据源之间的数据交换

3、,实现系统服 务器端数据的管理,接收嵌入式终端上传的数据和 下载数据到嵌入式终端机等操作。 嵌入式数据库的名称来自其独特的运行模式。这种 数据库嵌入到了应用程序进程中,消除了与客户机 服务器配置相关的开销。 6 嵌入式数据库实际上是轻量级的,在运行时,它 们需要较少的内存。 它们是使用精简代码编写的,对于嵌入式设备, 其速度更快,效果更理想。 嵌入式运行模式允许嵌入式数据库通过 SQL 来轻 松管理应用程序数据,而不依靠原始的文本文件 。 嵌入式数据库还提供零配置运行模式,这样可以 启用其中一个并运行一个快照。 5.1.1嵌入式数据库简介 7 在嵌入式系统中,对数据库的操作具有定 时限制的特性

4、,这里把应用于嵌入式系统 的数据库系统称为嵌入式数据库系统或嵌 入式实时数据库系统(ERTDBS)。 嵌入式数据库是嵌入式系统的重要组成部 分,也成为对越来越多的个性化应用开发 和管理而采用的一种必不可少的有效手段 。 5.1.1嵌入式数据库简介 8 在嵌入式数据库领库领 域,各大数据库库厂商竞竞争也日 趋趋激烈,Oracle、IBM、Sybase、InterSystems、 日立、Firefbird等均在这这一领领域有所行动动。 如继继2005年并购购全球最大的内存数据库库厂商 TimesTen之后,去年,Oracle又收购购了全球下载载 用户户最多的嵌入式数据库库厂商Sleepycat及其

5、 Berkeley DB产产品,进进一步完善了嵌入式软软件的产产 品线线。 从Oracle自身来说说,Oracle提供的不仅仅是一个嵌入 式数据库产库产 品,更重要的是从底层层提供的一种端 到端的数据管理架构,并大力支持重点行业领业领 域的 关键键合作伙伴在此架构上开发发的相关应应用和服务务 。 5.1.1嵌入式数据库简介 9 嵌入式数据库会跟随信息技术以及互联网 的发展得到普及,嵌入式数据库将成为工 业智能化的必经之路,未来嵌入式数据库 将有很大的发展空间。 首先,专业化发展明显。 其次,嵌入式数据库将朝标准化发展。 最后,嵌入式数据库与企业内部信息的同步管 理将得到发展。 5.1.1嵌入式

6、数据库简介 10 5.1.2 嵌入式数据库的特点及分类 1. 嵌入式数据库的特点 2. 嵌入式数据库的分类 11 1. 嵌入式数据库的特点 嵌入性是嵌入式数据库的基本特性。 嵌入式数据库不仅可以嵌入到其他的软件当中, 也可以嵌入到硬件设备当中。 例如嵌入式数据库Empress就是使数据库以组 件的形式存在,并发布给客户,客户只需要像调 用自己定义的函数那样调用相应的函数就可以创 建表、插入删除数据等常规的数据库操作。 客户在自己的产品发布时,可以将Empress数 据库编译到自己的产品内,变成自己产品的一部 分,最终用户是感受不到数据库的存在的,也不 用特意去维护数据库。 12 可靠性要求是毋

7、庸置疑的。 嵌入式系统必须能够在没有人工干预的情况下 ,长时间不间断地运行。 同时要求数据库操作具备可预知性,而且系统 的大小和性能也都必须是可预知的,这样才能 保证系统的性能。 嵌入式系统中会不可避免地与底层硬件打交道 ,因此在数据管理时,也要有底层控制的能力 ,如什么时候会发生磁盘操作,磁盘操作的次 数,如何控制等。底层控制的能力是决定数据 库管理操作的关键。 1. 嵌入式数据库的特点 13 实时性和嵌入性是分不开的。 只有具有了嵌入性的数据库才能够第一时间得到系统 的资源,对系统的请求在第一时间内做出响应。但是 ,并不是具有嵌入性就一定具有实时性。要想嵌入式 数据库具有很好的实时性,必须

8、做很多额外的工作。 比如:Empress实时数据库将嵌入性和高速的数据引 擎、定时功能以及防断片处理等措施整合在一起来保 证最基本的实时性。 当然,不同的场合实时性要求比较高时,除了软件的 实时性外,硬件的实时性也是必须的,具体情况需要 有具体和切实的解决方案,不能一概而论。 1. 嵌入式数据库的特点 14 移动性是目前在国内提的比较多的一个说法,这 和目前国内移动设备的大规模应用有关。 可以这么说,具有嵌入性的数据库一定具有比较好的 移动性,但是具有比较好的移动性的数据库,不一定 具有嵌入性。 比如,一个小型的C/S结构的数据库也可以运用在移动 设备上,而具有移动性。但这个数据库本身是一个独

9、 立存在的实体,需要额外的运行资源,本质上讲和企 业级数据库区别不大。 所以不具有嵌入性,也基本上不具备实时性。 Empress是优秀的嵌入式实时数据库,毫无疑问也是 非常优秀的移动数据库。 1. 嵌入式数据库的特点 15 可定制性在嵌入式场合显得尤为重要。 首先嵌入式场合硬件和软件的平台都是千差万别,基本 都是客户根据需要自己选择的结果。所以嵌入式场合的 数据库必须能够支持非常多的平台,如Empress目前支 持6000多种平台。 同时,数据存储要支持常见的存储设备,如 CF/Flash/HD等。 多进程和多线程是必备的,现在的嵌入式系统已经远远 不是当初的简单的编程,代码量增大,功能日益复

10、杂, 所以必然要支持多线程和多进程。 C/C+和SQL接口的支持也是必备的,作为数据库当然 要有大家熟悉的SQL,但同时不要忘记嵌入式场合用的 最多的标准的C/C+接口。 1. 嵌入式数据库的特点 16 2. 嵌入式数据库的分类 可以按照嵌入的对象不同分为:软件嵌入数据 库、设备嵌入数据库、内存数据库。 也有人将它们粗略的分为:嵌入数据库、移动 数据库、小型的C/S结构数据库等。 小型C/S数据库。这种数据库其实是企业级数据库的 一个缩小版,缩小以后可以在一些实时性要求不高 的设备内运行。它只和操作系统有关,一般只能支 持一些常见的移动操作系统,如,Linux和 WindowsCE系列。 17

11、 面向软件嵌入数据库。它将数据库作为组件嵌入到其 他的软件系统中。一般用在对数据库的安全性、稳定 性和速度要求比较高的系统中。这种结构资源消耗低 ,最终用户不用维护数据库,甚至感受不到数据的存 在。 面向设备嵌入数据库。它将关系型数据库嵌入到设备 当中去,作为设备数据处理的核心组件。这种场合要 求数据库有很高的实时性和稳定性,一般运行在实时 性非常高的操作系统当中。为了达到这些要求有的厂 商采用关系型的数据结构,有的采用非关系型的数据 结构。有时候甚至直接和硬件打交道。当然,这种结 构在实时性要求不高的移动场合更能够胜任。 内存数据库。数据库直接在内存内运行,数据处理更 加高速,不过安全性等方

12、面需要额外的手段来保障。 2. 嵌入式数据库的分类 18 5.1.3 嵌入式数据库的应用 1.医疗领域 北美和欧洲的一些著名的厂商利用嵌入式数据库开发过 完整的电子病历系统,同时将数据库嵌入到医疗器械当 中。如,血液分析装置、乳癌的检测装置、医学图像装 置等。 2.军事设备和系统 一些著名的军事机构和全球著名的武器生产商将嵌入式 数据库运用到他们的系统控制装置、战士武器、军舰装 置、火箭和导弹装置中。这些场合用的数据库有很多的 安全设定和特化设定,基本上严格按照每个客户的技术 标准的要求来特化引擎级构件。具体的应用级的构件由 客户自己完成。 19 3.地理信息系统 地理信息包括的范围很广,在国

13、外地理信息系统已经发 展了很多年,国内这几年也逐渐加大对地理信息系统方 面的投入。嵌入式数据库在地理信息系统方面的应用非 常广泛。如,空间数据分析系统、卫星天气数据、龙卷 风和飓风监控及预测等等。几乎涉及到地理信息的方方 面面。 4.工业控制 工业控制的一个基本方式是一个反馈的闭环或半闭环的 控制方式。随着工业控制技术的发展,简单的数据采集 方式和反馈方式基本上很难满足要求。采用嵌入式数据 库即能够进行高速的数据采集,也能够快速的反馈。 5.1.3 嵌入式数据库的应用 20 5.网络通讯 随着互联网的发展,网络越来越普及,网络设 备的处理能力越来越强、各种要求也越来越高 ,运用嵌入式数据库也成

14、了必然趋势。我们现 在日常见到的很多网络设备和系统都已经使用 了嵌入式数据库。 6.空间探索 一些全球著名的机构将嵌入式数据库用在一些 著名的空间探索装置中,如大家熟知的一些太 阳系内行星的探测器等。 5.1.3 嵌入式数据库的应用 21 7.消费类电子 目前在中国消费类电子比较火热,它包含的范 围也非常广。如:个人消费相关的PND、移动 电话、PDA、SmartPhone、数码产品等;信息 家电和智能办公相关的机顶盒、家用多媒体盒 、互联网电视接收装置、打印机、一体机等;还 有汽车电子等。 5.1.3 嵌入式数据库的应用 22 5.2 SQLite数据库 5.2.1 SQLite数据库概述

15、5.2.2 SQLite数据库的安装 5.2.3 SQLite数据库基本命令 5.2.4 SQLite数据库管理命令 5.2.5 SQLite的API函数 5.2.6 SQLite实例分析 23 5.2.1 SQLite数据库概述 1. 概述 2. SQLite组件 3. 数据类型 24 1. 概述 SQLite 是 D. Richard Hipp 用 C 语言编写的开 源嵌入式数据库引擎。发布于2000年5月。它是 完全独立的,不具有外部依赖性。 SQLite 支持多数 SQL92 标准,可以在所有主要 的操作系统上运行。 其创建者保守地估计 SQLite 可以处理每天负担 多达 100,0

16、0 次点击率的 Web 站点,并且 SQLite 有时候可以处理 10 倍于上述数字的负载 。 5.2.1 SQLite数据库概述 25 SQLite 对 SQL92 标准的支持包括索引、限制、 触发和查看。SQLite 不支持外键限制,但支持原 子的、一致的、独立和持久 (ACID) 的事务(后 面会提供有关 ACID 的更多信息)。 SQLite 通过数据库级上的独占性和共享锁定来实 现独立事务处理。 这意味着当多个进程和线程可以在同一时间从同 一数据库读取数据,但只有一个可以写入数据。 在某个进程或线程向数据库执行写入操作之前, 必须获得独占锁定。 在发出独占锁定后,其他的读或写操作将不会再 发生。 5.2.1 SQLite数据库概述 26 2.SQLite组件 SQLite 由以下几个组

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号