常用嵌入式数据库有哪些(嵌入式数据库是什么区块)

常用嵌入式数据库有哪些(嵌入式数据库是什么区块),第1张

嵌入式数据库还是有很多的,这里举几个吧:

1BerkeleyDB常用嵌入式数据库有哪些

Berkeley

DB(BDB)是一个高效的嵌入式数据库编程库,C语言、C、Java、Perl、Python、Tcl以及其他很多语言都有其对应的API。

BerkeleyDB可以保存任意类型的键/值对(Key/ValuePair),而且可以为一个键保存多个数据。Berkeley

DB支持让数千的并发线程同时 *** 作数据库,支持最大256TB的数据,广泛用于各种 *** 作系统,其中包括大多数类Unix *** 作系统、Windows *** 作系统

以及实时 *** 作系统。

2CouchbaseLite

CouchbaseLite

是一个为满足在线和离线的移动应用所开发的超轻量的,可靠的,并且安全的JSON数据库。即使在最不确定的网络条件下,亦可以给您的移动应用提供富有成效

的和可靠的信誉。除此之外,’同步门户’功能亦可以提供协作,社交互动或者是用户的更新。

3LevelDB

LevelDB是Google开源出的一个Key/Value存储引擎,它采用C编写的,支持高并发访问和写入,特别适合对于高写入业务环境。

4SQLite

SQLite是一个开源的嵌入式关系数据库,实现自包容、零配置、支持事务的SQL数据库引擎。

其特点是高度便携、使用方便、结构紧凑、高效、可靠。与其他数据库管理系统不同,SQLite的安装和运行非常简单,在大多数情况下-

只要确保SQLite的二进制文件存在即可开始创建、连接和使用数据库。

5UnQLite

UnQLite是,由Symisc

Systems公司出品的一个嵌入式C语言软件库,它实现了一个自包含、无服务器、零配置、事务化的NoSQL数据库引擎。UnQLite是一个文档存储

数据库,类似于MongoDB、Redis、CouchDB等。同时,也是一个标准的Key/Value存储,与BerkeleyDB和LevelDB等

类似。

首先介绍嵌入式Internet技术的发展和广阔的应用前景以及嵌入式Internet技术的基本概念和原理,然后重点阐述了嵌入式系统接入Internet的几种方式,包括各种接入方式的工作原理,对TCP/IP的处理方法及所需的其他协议、软硬件等,并对它们各自的优缺点进行了比较,指出了新的发展方向。

关键词:嵌入式系统;嵌入式Internet;TCP/IP协议

0 引 言

嵌入式Internet技术是一种将嵌入式设备接入Internet的技术,利用该技术可将Internet从PC机延伸到8位、16位、32位单片机,并实现基于Inter-net的远程数据采集、远程控制、自动报警、上传/下载数据文件、自动发送E-mail等功能,大大扩展In-ternet的应用范围。

嵌入式Internet技术的出现时间并不很长,但是发展速度却非常之快,新思想不断涌现,新概念连续推出,新技术层出不穷,新产品不断产生,从底层硬件技术所提供的解决方案到顶层软件所开拓的想像空间,都在不断地推陈出新。随着PC机时代的到来,21世纪将是嵌入式Internet的时代。美国贝尔实验室总裁Arun Netravali的一批科学家对此做出了预测:嵌入式Internet“将会产生比PC机时代多成百上千倍的瘦服务器和超级嵌入式瘦服务器。这些瘦服务器将与我们所能想到的各种物理信息、生物信息相联接,通过Internet网自动地、实时地、方便地、简单地提供给需要这些信息的对象”更多内容可以在闯客技术论坛查看。

网络专家预测,将来在Internet上传输的信息中,将有70%的信息来自小型嵌入式系统[2]。嵌入式Internet将有很好的发展前景和广阔的市场,未来的Internet技术将是嵌入式Internet占主导地位,因此嵌入式系统与Internet的接入方式已成为人们研究的热点。

1 嵌入式Internet的基础

嵌入式Internet是嵌入式系统与Internet的结合。嵌入式系统中包含嵌入式处理机、嵌入式 *** 作系统和应用电路部分,与Internet的接入则必须有对应的接入协议,如通用的TCP/IP协议。因此,实现嵌入式Internet的基础是嵌入式处理机、嵌入式 *** 作系统和接入Internet的通信协议。

(1)嵌入式处理机

单片机就是典型的嵌入式处理机,如常见的In-tel的8051系列、Atmel的AVR、MicroChip的PIC、Motorola的Dragonball、Cygnal的C8051F等,以及一些高端的单片机如ARM、SH3、MIPS等,嵌入式处理机的种类有几百种。处理机是嵌入式系统的核心,其性能直接影响整个系统的性能高低,影响接入Internet的方式和成本。

(2)嵌入式 *** 作系统

嵌入式系统要完成复杂的功能,已经不可能像普通单片机一样,直接从底层开始编写所有程序,必须采用底层的 *** 作系统,在此基础上来完成复杂的应用软件设计。但由于嵌入式系统自身资源的限制,嵌入式 *** 作不可能像PC机的 *** 作系统一样庞大,Windows98/2000有几百兆字节,而嵌入 *** 作系统一般只有100-200半字节。同时嵌入 *** 作系统还必须是实时多任务 *** 作系统,而Windows98/2000不是实时 *** 作系统。另一方面,嵌入式处理机的种类繁多,嵌入 *** 作系统还必须支持多种不同处理器体系结构的众多处理机。

目前国际上嵌入式系统的主流是实时多任务 *** 作系统(RTOS:Real-Time Operating System)。RTOS是嵌入式应用软件的基础和开发平台,是一段嵌入在目标代码中的软件,用户的其它应用程序都建立在RTOS之上。不但如此,RTOS还是一个标准的内核,将CPU时间、中断、I/O、定时器等资源都包装起来,留给用户一个标准的API,并根据各个任务的优先级,合理地在不同任务之间分配CPU时开发基础。这样一来,基于RTOS上的C语言程序具有极大的可移植性。同时,在RTOS基础上可以编写出各种硬件驱动程序、专家库函数、行业库函数、产品库函数和通用性的应用程序一起,可以作为产品销售,促进行业内的知识产权交流。

虽然商品化的嵌入式 *** 作系统在20世纪70年代后期才出现,但到20世纪末,成熟的商品化 *** 作系统已经十分丰富了,如Palm OS,VxWorks,pSOS,Nuclear,VelOSity,QNX,VRTX,WindowsCE(现改名为Windows Powered)以及目前炒得很热的嵌入式Linux等。

(3)接入Internet的通信协议

嵌入式系统接入Internet同PC机接入Internet一样,必须通过相应的通信协议。目前的Internet采用TCP/IP协议,因此嵌入式系统接入Internet最终必须通过TCP/IP接入,嵌入式系统对信息进行TCP/IP协议处理,使其变成可以在Internet上传输的IP数据包。若采用网关方式,在网关前端可以采用适合嵌入处理机和起控制作用的新协议,通过网关转换后变成标准IP包接入Internet。

由于嵌入式系统自身资源的限制,处理能力不如台式机强,以及从PC机上来的TCP/IP的复杂性,使得处理通信协议成为嵌入式系统接入Internet的关键,也是嵌入式系统接入Internet的难点之一。因此下面着重分析当前的几种接入方式以及对协议的不同处理方法。

2 嵌入Internet的几种接入方式

2.1 处理机加TCP/IP协议方式

采用处理机加TCP/IP协议方式,MCU处理机像PC机一样直接处理TCP/IP协议,一般需要高档的处理机,如32位的ARM,SH3,MIPS等MCU和一些单周期指令速度较高的8位MCU,如AVR、SX等,其结构见图1。

对TCP/IP协议的具体处理又有2种方法。一种方法是采用实时 *** 作系统RTOS,用软件方式直接处理TCP/IP协议。实时 *** 作系统的功能越来越强大,许多都具有对图像界面和TCP/IP的支持能力。采用这种方式最灵活,能按用户需求实现很多复杂的功能,当然灵活的同时带来的是开发复杂度的增加,对开发人员的要求高,对 *** 作系统和TCP/IP协议都要有一定的熟悉程度,因此开发周期也较长,高档MCU和RTOS的价格也很高。

另一种是采用固化了TCP/IP协议的硬件芯片,如Seiko Instruments公司的S7600A等,它支持>

这两种方式类似于在MCU上实现PC机加网卡的功能,MCU直接处理TCP/IP协议,复杂度较高,且每个MCU也需要一个IP地址,而IP地址需要付费使用。它需要高档的MCU处理机和较高的开发成本,因此一般只会在一些高档产品(如汽车)中使用。它有一个好处是不需要PC机做网关。

2.2 Webit方式

Webit是沈阳东大新业信息技术股份有限公司研制开发的嵌入式系统接入Internet的一个实用产品,它将MCU和以太网控制器集成到一块小板卡上,将它装入到嵌入系统中就可以完成嵌入系统与Internet网的联接。Webit有自己的IP地址,与前面提到的第一种方式相似,但它有更高的集成度,将协议处理部分独立出来,开发人员省去了网络部分的设计,可将主要精力放在应用系统本身。

Webit总体上是一个基于AVR单片机的系统,在单片机内有用来存储系统服务程序的8千字节的FLASH空间、512字节的RAM空间以及用来存放

系统参数(IP地址、MAC地址、串口波特率等)的EEPROM。在单片机的外围,有用来存放Web页面的EEPROM。系统中包含一个10 M以太网控制器,用来提供网络的联接。系统提供的应用系统接口为TTL电平的UART口及14位I/O口,通过它与应用系统相连,其应用方式见图2。

Webit方式实际上与第一种方式类似,只是将协议处理部分分离出来由Webit单独完成,开发人员可以不必考虑网络协议和相关接口,但也需要独立的IP地址。该方式也不需要网关,无需PC机,软、硬件结构可以独立设计,其开发成本相对较低。

2.3 采用专用嵌入式网络协议

利用emWare公司开发的嵌入式微Internet网络技术(EMIT:Embedded Micro InternetworkingTechnology)。EMIT由emNet和emGateway两部分组成,emNet协议运行在MCU内部,是为嵌入式系统和其他网络(如RS485、IR、RF和电力线等)进行联接的网络协议。同时,emNet使得集成emMicro的嵌入式系统能够和嵌入式微控制器网关emGate-way进行有效的通信。嵌入式微控制器网关(即em-Gateway)运行在计算机、TV机顶盒或专用的家用电器服务器中,它是设备网络和Internet之间联接的桥梁。应用系统运行MCU内的emNet,通过em-Gateway与Internet联接,见图3。

具体来讲,EMIT采用桌面计算机或高性能嵌入式处理器作为网关emGateway,支持TCP/IP协议并运行Internet服务程序,形成一个用户可通过网络浏览器进行远程访问的服务器,emGateway通过RS232、RS485、CAN、红外、射频等总线将多个嵌入式设备联系起来,每个嵌入式设备的应用程序中包含一个独立的通信任务,称为emMicro,监测嵌入式设备中预先定义的各个变量,并将结果反馈到emGateway中;同时emMicro还可以解释emGate-way的命令,修改设备中的变量,或进行某种控制。

这种方式要求设计工程师必须熟悉emNet协议和相关的接口,并且软硬件设计的工作量仍然较大。应用系统的MCU处理emNet协议要占用一定的系统资源,对MCU的要求也较高,同时需要微机做网关。优点是网关中的一个IP地址可以联接多个嵌入式应用系统。

2.4 使用专用芯片Webchip

Webchip是武汉力源公司于2000年4月开发出使嵌入式电子设备和家用电器与网络方便联接的实用解决方案。Webchip是独立于各种微控制器的专用网络接口芯片,它通过标准的输入、输出口与各种MCU相连。MCU通过Webchip与网关联接即可接收并执行经由Internet远程传来的命令或将数据交给Webchip发送出去。MCU应用系统通过Webchip网络芯片与Gateway联接,再进入Internet网,如图4所示。

Webchip内部固化了MCUNet协议,它与em-Gateway和OSGi协议兼容,是MCU电子设备与计算机平台上的Gateway建立联系的一种软件协议,可以处理MCU与Gateway之间的通信。MCUNet协议结构简单,但功能很强。Webchip作用就是解释通信协议,控制数据传输,使MCU应用系统不用去管理协议的具体内容,只需要解释和执行Webchip送来的命令(Webchip与MCU之间共有17条命令)。Webchip将来自MCU的数据编译成符合协议规定的格式,然后传给Gateway,而由Gateway下传的命令和数据由Webchip负责解释,然后通过命令方式送给MCU。图4中的网关服务器用于协议的解释、转换、执行等,通常由一台普通PC机来实现。

Webchip的简要工作过程是:Webchip通过SPI三线串行接口与MCU应用系统联接。它与MCU应用系统交换信息是由17条简单的指令进行控制。Webchip的另一端以RS-232、RS-485或Modem等接口电路与基于PC机平台的网关接口。Webchip在MCU应用系统接入Internet的过程中实际上是起

了底层协议的编译、解释和转换作用,将MCU应用系统与网关再与Internet联接起来。这是由于PC机网关能提供>

这种方案相对更简单,对MCU要求较低,无论是运行速度、硬件配置和存储器容量等方面均无特殊要求;软件设计也只需在原应用系统的基础上增加一小段接口程序,其它无需作大的改动。对设计工程师,不需要熟悉复杂的网络协议和相关接口,完全不必考虑任何网络协议,只需要解释并执行We-bchip传送过来的指令和数据就可以实现与Internet网络联接。其开发周期更短,也较灵活。同采用专用嵌入式网络协议方案一样,需要微机做网关,网关中的一个IP地址可以联接多个嵌入式应用系统。

目前还买不到PS2000的芯片,只是最近在力源网站上有了PS2000的详细芯片资料。其开发套件也较便宜,包含带有通信接口的PSM2000模块板和PSE2000 EVKIT演示套件等。

3 结束语

随着芯片技术的发展,嵌入Internet还会有更多更新的接入方式出现。针对目前的情况,最主要的问题是需要解决成本问题,以上几种接入方式虽然有成本较低的方案,但与众多嵌入系统中便宜的MCU系统相比,其接入成本在整个系统中还是占有相当大的比重。只有接入成本进一步降低才能使嵌入式Internet真正进入寻常百姓家庭,真正在嵌入系统和智能家庭的大市场中发挥重要作用,因此还需要进一步开发单芯片的最低成本的解决方案,以适应市场的需要。

初次接触嵌入式数据库(EmbeddedDatabase)可能对这个概念总不是很清楚,它究竟与数据库服务器(DatabaseServer)有什么区别,它们又分别适用于那些应用场景呢,这是需要解决的问题。

在谈区别之前,先来个感性认识。像Oracle、Sybase、MySQL和SQLServer这些大家熟知的数据库都属于数据库服务器(当然不排除某些也提供嵌入式版本),而像SQLite、BerkeleyDB等属于嵌入式数据库。

嵌入式数据库跟数据库服务器最大的区别在于它们运行的地址空间不同。通常,数据库服务器独立地运行一个守护进程(daemon),而嵌入式数据库与应用程序运行在同一个进程。

数据库服务器的架构如下:

图中的数据库客户端通常通过数据库驱动程序如JDBC、ODBC等访问数据库服务器,数据库服务器再 *** 作数据库文件。

数据库服务是一种客户端服务器模式,客户端和服务器是完全两个独立的进程。它们可以分别位于在不同的计算机甚至网络中。客户端和服务器通过TCP/IP进行通讯。这种模式将数据与应用程序分离,便于对数据访问的控制和管理。

嵌入式数据库架构如下:

嵌入式数据库不需要数据库驱动程序,直接将数据库的库文件链接到应用程序中。应用程序通过API访问数据库,而不是TCP/IP。因此,嵌入式数据库的部署是与应用程序在一起的。比如常见的版本控制器SubVersion,它所用的嵌入式数据库就是跟应用程序放在一起的。

数据库服务器和嵌入式对比如下:

(1)数据库服务器通常允许非开发人员(DBA,数据库库管理员)对数据库进行 *** 作,而在嵌入式数据中通常只允许应用程序对其进行访问和控制。

(2)数据库服务器将数据与程序分离,便于对数据库访问的控制。而嵌入式数据库则将数据的访问控制完全交给应用程序,由应用程序来进行控制。

(3)数据库服务器需要独立的安装、部署和管理,而嵌入式数据通常和应用程序一起发布,不需要单独地部署一个数据库服务器,具有程序携带性的特点。

从上面的对比可以看出,数据库服务器和嵌入式数据库各自具有自己的特点,它们分别适用于不同的应用场景。

如果你要存储的数据的访问比较复杂,比如跨网络、复杂的访问控制策略,又需要数据库管理员经常进行管理和维护,那么数据库服务器就非常适合你。

如果你要存储的数据的访问之需要应用程序控制即可,并且基本不需要人工干预,而且需要对数据的访问简单、快速有效,那么嵌入式数据库适合你。

另外,你是否有过这样的情况:存储的数据量不是很大,如果搞个一般的数据库来感觉太浪费了,而且如果发布这个程序还非常麻烦,这时那些微小的嵌入式数据库可能非常适合你(如某些电子邮件客户端就采用的是嵌入式数据库)。

嵌入式数据库的名称来自其独特的运行模式。

这种数据库嵌入到了应用程序进程中,消除了与客户机服务器配置相关的开销。嵌入式数据库实际上是轻量级的,在运行时,它们需要较少的内存。它们是使用精简代码编写的,对于嵌入式设备,其速度更快,效果更理想。嵌入式运行模式允许嵌入式数据库通过SQL来轻松管理应用程序数据,而不依靠原始的文本文件。嵌入式数据库还提供零配置运行模式,这样可以启用其中一个并运行一个快照。

简单来说,就是一些终端使用的数据库,如POS机、手机等或者其他的非电脑上面使用的,一般都可以叫嵌入式数据库典型的数据库是sqlite,单文件数据库

如果您要将自己的数据库导入服务器,1可以点击下面的“建立备份”一。

2点击建立“备份用FTP”。

3用FTP将您自己的数据库备份文件上传到服务器上,覆盖服务器上的1bak(SQL2000)/1sql(Mysql)。

4再点从备份一中的“备份中还原。”

5如果导入过程中发生意外,需要重新导入,您要先点清空数据库。

(在备份还原前,请您先停止您的网站一分钟后再 *** 作,否则数据库正在使用中会造成 *** 作失败。)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13197853.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-06-19
下一篇 2023-06-19

发表评论

登录后才能评论

评论列表(0条)

保存