嵌入式技术已在人们生活中得到广泛应用;移动计算更是给人们的生活带来了极大的方便。有移动计算技术推动发展的新的数据库技术让人耳目一新。嵌入式移动数据库技术因此产生。主要论述了嵌入式移动数据库的特点及应用,嵌入式移动数据库管理系统(EMDB)的功能需求及特点,嵌入式移动数据库的系统结构。
《电子设计技术》国家级电子科技杂志,创刊于1994年,由中国电子报社主办。 本刊办刊宗旨:成为中国电子设计业主导刊物,读者:电子设计业工程师及技术管理人员。荣获2001年获信息产业部1999-2000年度电子科技期刊出版质量奖、2004年获信息产业部2003-2004年度电子科技期刊报道选题奖。
1 引言
随着移动计算技术的发展,移动数据库逐步走向应用,在嵌入式操作系统中加入移动数据库,也越来越显示出其重要性。
1.1 嵌入式系统
嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成,用于实现对其他设备的控制、监视或管理等功能。
嵌入式系统一般指非PC系统,它包括硬件和软件两部分。硬件包括处理器/微处理器、存储器及外设器件和I/O端口、图形控制器等。软件部分包括操作系统软件(OS)(要求实时和多任务操作)和应用程序编程。有时设计人员把这两种软件组合在一起。应用程序控制着系统的运作和行为;而操作系统控制着应用程序编程与硬件的交互作用。
1.2 移动计算
移动计算是一种新型的技术,它使得计算机或其它信息设备,在没有与固定的物理连接设备相连的情况下,能够传输数据。移动计算的作用在于,将有用、准确、及时的信息与中央信息系统相互作用,分担中央信息系统的计算压力, 使有用、准确、及时的信息能提供给在任何时间、任何地点需要它的任何用户。移动计算环境比传统的计算环境更为复杂和灵活。 典型的移动计算环境有[1]:
(1) 智能计算设备+ 无线网络。通过无线网络,智能计算设备可以随时进入MCE 主网络;
(2) 智能计算设备+ 调制解调器+ 电话网络。在不同地点, 将调制解调器和附近的电话相连接, 通过电话网进入MCE 主网络;
(3) 移动用户+ 传统工作站+ 传统有线网络。移动用户在不同场地使用静态计算机获得MCE 的服务。
1.3 嵌入式移动数据库
数据库技术一直在随着计算的发展而不断进步。凡是有数据的地方,就要用到数据库来协助管理数据。移动计算也是对数据的处理,离开对数据的管理、处理,计算机就毫无意义。移动计算同时又强调其移动性,传统的PC机要做到移动,同时在苛刻的环境下作到良好的运作也是不可能的。此时,嵌入式很好的满足了移动计算对移动客户端计算的要求。三者从这一点上结合就产生了当今数据库的一个新的发展空间:嵌入式数据库技术。移动数据库是指支持移动计算环境的分布式数据库。由于移动数据库系统通常应用在诸如掌上电脑、PDA、车载设备、移动电话等嵌入式设备中,因此,它又被称为嵌入式移动数据库系统。
2 嵌入式移动数据库的特点及其应用
2.1 嵌入式移动数据库特点
嵌入式移动数据库在实际应用中必须解决好数据的一致性(复制性)、高效的事务处理、数据的安全性等问题。
(1)数据的一致性
移动数据库的一个显著特点是,移动终端之间以及与服务器之间的连接是一种弱连接。即低带宽、长延迟、不稳定和经常性的断开。为了支持用户在弱环境下对数据库的操作,现在普遍采用乐观复制方法(Optimistic replication 或 Lazy replication)允许用户对本地缓存上的数据副本进行操作。待网络重新连接后再与数据库服务器或其它终端交换数据修改信息,并通过冲突检测和协调来恢复数据的一致性。
(2)高效的事务处理
移动事务处理要解决在移动环境中频繁的、可预见的、拆连情况下的事务处理。为了保证活动事务的顺利完成,必须设计和实现新的事务管理策略和算法,方法如下:
根据网络连接情况来确定事务处理的优先级,网络连接速度高的事务请求优先处理。
根据操作时间来确定事务是否迁移,即长时间的事务操作将全部迁移到服务器上执行,无需保证网络的一直畅通。
根据数据量的大小来确定事务是上载执行还是下载数据副本执行后上载。
事务处理过程中,网络断接处理时采用服务器发现机制还是采用客户端声明机制。
事务移动(如:位置相关查询)过程中的用户位置属性的实时更新。
完善的日志记录策略。
(3)数据的安全性
许多应用领域的嵌入式设备是系统中数据管理或处理的关键设备,因此嵌入式设备上的数据库系统对存取权限的控制比较严格。同时,许多嵌入式设备具有较高的移动性、便携性和非固定的工作环境,也带来潜在的不安全因素。同时某些数据的个人隐私性又很高,因此在防止碰撞、磁场干扰、遗失、盗窃等对个人数据安全的威胁上需要提供充分的安全性保证。保证数据安全的主要措施如下:
对移动终端进行认证,防止非法终端的欺骗性接入。
对无线通信进行加密,防止数据信息泄漏。
对下载的数据副本加密存储,以防移动终端物理丢失后的数据泄密[2]。
2.2 嵌入式移动数据库应用
目前,嵌入式移动数据库有两种应用,可划分为水平应用和垂直应用。所谓水平应用,是指应用方案能够用于多种不同行业,只需要极少的定制工作;而垂直应用则针对特定行业的应用,数据处理具有独特性。与水平应用相比,垂直型应用具有明显的行业特殊性,不同领域的应用之间差别较大,结果表示和服务器数据库的管理也有很大不同。主要涉及保险、银行业、航班信息、政府部门等具体的行业领域。如图所示[3]:
3 嵌入式移动数据库管理系统(EMDBMS)的特性
3.1 嵌入式移动数据库管理系统的功能需求
移动计算环境中的数据库管理系统,是一种动态分布式数据库管理系统。由于嵌入式移动数据库管理系统运行在移动计算的环境之下,应用于嵌入式操作系统之上,所以它有自己的功能需求:
(1)微小内核结构
考虑到嵌入式设备的资源有限,嵌入式移动DBMS应采用微型化技术实现,可在满足应用的前提下,紧缩其系统结构以满足嵌入式应用的需求。
(2)对标准SQL的支持
嵌入式移动DBMS应能提供对标准SQL的支持。支持SQL92 标准的子集,支持数据查询(连接查询、子查询、排序、分组等)、插入、更新、删除多种标准的SQL 语句,以充分满足嵌入式应用开发的需求。
(3)事务管理功能
嵌入式移动DBMS应具有事务处理能力,可自动维护事务的完整性、原子性等特性;支持实体完整性和引用完整性。
(4)完善的数据同步机制
数据同步是嵌入式数据库最重要的特点。通过数据复制,可以将嵌入式数据库或主数据库的变化情况应用到对方,以保证数据的一致性。
(5)支持多种连接协议。
嵌入式移动DBMS应支持多种通信连接协议。可以通过串行通信、T C P /IP、红外传输、蓝牙等多种连接方式,实现与嵌入式设备和数据库服务器的连接。
(6)完备的嵌入式数据库的管理功能
嵌入式移动DBMS应具有自动恢复功能,可进行嵌入式数据库管理,并能够提供数据的备份和恢复,保证用户数据安全可靠。支持多种嵌入式操作系统嵌入式移动DBMS 应能支持Windows CE、Palm OS 等多种目前流行的嵌入式操作系统,这样才能使嵌入式移动数据库管理系统不受移动终端的限制。
3.2 嵌入式移动数据库管理系统的特点
基于以上分析不难得出嵌入式移动数据库的管理系统应具有如下特点:
(1)提供多种数据同步方式。具有上载同步、下载同步和完全同步三种同步方式。
(2)具有完善的冲突检测机制,和灵活的冲突解决方案,具有冲突日志记录功能。企业级应用中冲突是不可避免的,不同的数据库系统认为冲突发生的位置是不一样的。解决冲突的规则可以是系统预定义的也可以是用户自定义的。
(3)支持快速同步。系统同步时,只传递变化的数据,即增量上下载,节省了大量的同步时间。
(4)支持表的水平分割和垂直分割复制,最大限度地降低了嵌入式数据库的大小。
(5)支持异构数据源连接同步。可以用支持ODBC 的异构数据源,作为主数据库和嵌入式设备上的数据库,以进行数据同步。
(6)具有主动同步的功能。允许用户对系统提供的同步事件自定义过程实现,并提供最大灵活度的同步过程。
4 嵌入式移动数据库的数据管理模式
嵌入式数据库的应用分为个人应用和企业级应用。在个人应用中,与外界较少交换数据,而且不必考虑多个数据库的数据一致性。在企业级应用中,嵌入式数据库要与企业级数据库交换数据,构成分布式数据库系统,支持复杂的业务活动。
在数据库三级应用模式中,EMDB系统一般采用EMDB+同步/复制服务器+企业级DB,如我们见到的IBM提供的嵌入式设备和移动企业级应用解决方案就是由3部分组成:DB2 Everyplace 嵌入式数据库、DB2 Everyplace Sync Server和Universal Database企业级数据库。在此模式中,EMDBS由移动设备中的EMDBMS和固定节点上的同步/复制服务器这两部分构成。这种方案的指导思想是将DBMS的功能分解,简化移动设备中的功能,进而减少对移动设备资源的需求[4]。
5 嵌入式移动数据库的系统结构
(1) 数据库服务器DBSVR (Database Server)
可以是大型数据库系统, 如: Oracle, Sybase, DB2,SQL Server, 一般为固定结点。每个DBSVR 上维护本地数据库的一个完整的副本, 服务器之间由可靠的高速互联网连接在一起, 构成一个传统意义上的分布数据库系统。
(2)移动支持结点MSS (Mobile Support Station )
进行分布式事务处理, 控制EMDB和DBSVR之间的数据交换并支持一个无线单元(cell),具有无线联网能力和同步功能,MSS也位于高速网络中。服务器可以与MSS为同一台机器。
(3)位置服务器LS(Location Server)
(4)可信部分
由固定网络以及网络上的固定主机组成, 固定主机分为两类: 一类是不带无线通讯的主机, 如DSSVR 和LS; 另一类是带有无线通讯接口MSS。
(5)移动客户机MC (Mobile Client)
MC的处理能力与存储能力相对于服务器来说非常有限, 且具有移动性(即可以出现在任意一个无线单元中) , 在它上面保存一部分数据库副本, 并通过EMDB对本地数据进行管理,可以通过无线链路与一个MSS通信,通过MSS上的ODBC 接口, EMDB可以与DBSVR进行数据交换。从而与整个固定网络连通, 也可以接受由MSS 发送的广播信息。它会经常与服务器断接(指MC无法与任意一个联机通信) 即使在与服务器保持连接时, 由于MC 所处的网络环境多变,MC与服务器之间的网络带宽相差很大,且可靠性较低,网络延迟较大。
(6)本地数据库Rep(Replication) 数据库副本
(7)EMDB
嵌入式移动数据库, 工作方式为: 每当MC发出一个查询请求Q1时,它首先查询本地数据库(移动子集上),若满足查询条件要求则直接返回给MC, 否则就向VS提交查询请求, 由VS代替MC完成查询并将结果返回给MC(前提是两者处于连接状态)。若MC 处于断接状态, 则也只能在MC上执行本地查询。若在断接期间更新了MC上的数据, 则该数据将在VS再次连接时, 进行数据重集成, 通过一致性维护算法来保证一致性。主要EMDB的应用模式都是立足于嵌入式设备作客户端, 在嵌入式设备上运行一个精巧的EMDB,在通过同步或复制技术与企业级数据库连接。这种应用模式在支持嵌入式设备的同时, 还支持移动设备,甚至无线移动设备, 构成基于移动环境的应用[5]。
6 结束语
现在,世界已经进入了后PC机时代。信息电器如个人数字助理、web可视电话、移动电话的GPS或W-CDMA产品、TV机顶盒、电视会议机、数码相机等嵌入式设备已经在人们生活中广泛应用。
参考文献
[1] 冯玉才李东等.一种移动数据库管理系统的体系结构,计算机研究与发展[J],2001年
[2] 黄军政.蔡瀛捷.移动计算推动数据库移动,中国计算机用户[J],2004年9月第36期
[3] 周克江.嵌入式移动数据库及其应用问题研究,湖南第一师范学报[J],2004年9月第4卷第3期
[4] 王彤.王良.嵌入式移动数据库的综述及评价,计算机工程[J],2001年12月第12期
[5] 朱英.嵌入式移动数据库及其相关问题,桂林电子工业学院学报[J],2003年6月第3期