移动数据库应用特性的研究
【摘要】
随着通信技术和计算机技术的发展,在通讯领域出现了一项新的技术——移动计算,移动计算环境促进了无线技术与数据库技术的融合,产生了移动数据库。
近些年来,随着嵌入式技术的发展,不仅有一些嵌入式的硬件和相配套的软件的产生,随之而来的嵌入式的数据库技术也得到了广泛的关注,并且还产生了一些产品。因为如PDA一些小型的电子设备不仅支持嵌入式技术也支持移动技术,所以嵌入式数据库与移动数据库结合成为了嵌入式移动数据库。它的出现成为近年来研究的对象。
移动数据库因为其本身所具有的一些特点,致使它与传统的分布式数据库在某些方面有所不同,本文从当今对平面移动数据库的一些研究方面对此进行阐述。第一章引言,第二章介绍移动数据库的概念和与传统的分布式数据库的区别,第三章介绍移动数据库在应用特性上要处理的问题,第四章介绍当今一些移动数据库的产品,第五章小结。
【关键词】
移动数据库、缓存
1 引言
数据库一直是计算机研究和发展的一个方面,数据库的每一次进步无不意味着世界经济和工业因此而得到很大的进步。随着移动计算机技术和嵌入式技术的快速发展,嵌入式的移动数据库的概念应运而生,对于某些特殊的应用领域,对嵌入式移动数据库的需求越来越大,如证券交易,地理勘探等。加之PDA与GPS等一些垂直应用领域的结合,移动数据库的发展已经迫在眉睫。
近些年来,国内外的一些科研机构和公司推出了一些支持移动数据库和移动数据库的产品。但是因为移动数据库因为其固有的特性,如地域不同,需求不同,应用领域不同等。这些产品并不能满足所有的需要,但是在某些方面,移动数据库所要解决的问题是相同的。
2 移动数据库的概念与传统分布式数据库的区别
2.1移动数据库的概念
移动数据库是移动计算环境中的分布式数据库,由于移动数据库的应用大都嵌入到诸如掌上电脑、PDA等移动通信设备中,故移动数据库有时也称为嵌入式移动数据库。
移动数据库是传统分布式数据库的延伸和扩展,是能够支持移动计算环境的数据库,其数据在物理上(或地理上)分散而在逻辑上集中。
移动数据库系统基本上是由三种类型的主机组成:移动主机(MH,Mobile Hosts)、移动支持站点(MSS,Mobile Support Stations)和固定主机(Fixed Hosts)
2.2移动数据库与传统的分布式数据库的区别
传统的分布式数据库是将各个数据库由固定的网络互相连接起来,它是基于有线网络和固定主机,这些都采用了一些默认的隐含假设,例如固定网络连接、对等通信代价、主机节点固定不变等。
与传统分布式数据库相比,移动数据库具有移动性、位置相关性、低带宽、频繁的断接性、网络条件的多样性、系统的安全性及可靠性较差、资源的有限性、网络通讯的非对称性、电源电力的有限性等特征。使得传统分布式数据库中的方法和技术不能直接应用于移动数据库。
3移动数据库要解决的问题
3.1移动数据库的查询优化问题
由于移动数据库是在无线通讯网络中传达信息,那么网络的带宽小和可能的频繁间断性是移动数据库必须面对的问题,所以缩短嵌入式移动数据库查询的响应时间,减少网络延迟是嵌入式移动数据库查询优化必须解决的问题。
目前应用比较广泛的查询方法是客户端数据缓存查询和数据广播查询。
3.1.1 客户缓存技术
客户缓存查询就是在客户端缓存当前用户经常访问的数据,提高查询的效率和避免网络间断对数据查询的影响。
在传统的分布式数据库中,在客户机上缓存部分数据,达到减少访问数据库服务器的目的,从而提高了性能。但是传统的缓存技术要求客户机保持与服务器的连接,这样才能维护缓存的一致性。因此,对于需要经常断接操作的移动客户机来说,传统的缓存技术是不适用的。
Barbara和T.Infielinski等人提出了一种新的缓存失效报告技术,称为缓存失效报告广播技术;服务器定期或异步地广播缓存失效报告,使移动客户机的缓存保持同步。
客户缓存中存放的是数据库的一个副本,是整体数据库的一个子集。在客户机断接的情况下,用户可以从客户缓存中查询到全部或部分数据。但是它与传统的缓存在内存的数据又不同,对于客户端来说这个子集又是一个自治数据库,客户端可以对这个数据库进行查询。当广播周期到来或者一段时间之后,客户端通过语义缓存查询的方式对服务器端的中心数据库进行查询。
3.1.2 数据广播查询
由数据库服务器把大多数用户频繁访问的数据(即热点数据)组织起来,以周期性的广播形式提供给移动客户机访问,这种数据发布方式称为数据广播。
数据广播技术在数据查询方面的特点。
(1)数据广播可利用带宽方面的优势,将数据从中心数据库服务器的通过下行链路传递到移动单元(客户机端),客户端也减少了连接服务器的时间和消耗的电能。
(2)广播数据可能被很多用户请求使用。
(2)移动客户机可以不需要数据缓存。
(3)即使在断接时,也允许移动客户机访问到最新数据。
(4)移动客户机不再需要预测未来的数据请求。
当前在广播方式中用得比较多的算法是广播磁盘算法,服务器根据客户机的数据访问请求频率,归纳出平均的访问概率分布,以此组织多级磁盘进行数据广播,来满足各个客户机的数据要求。但由于该算法的访问概率是客户机访问分布的平均,显然忽略了某些个性要求。
3.2移动数据库的数据同步问题
因为分布式数据库的特点,数据库服务器在广播更新数据的时候并不知道客户端的数据是否是最新的数据。因为有的客户端可能在断接的状态下没有处于接受广播数据的状态,客户端本身仍然在调用缓存内的数据,而此时数据库服务器已经把数据库的数据更新了,所以两者的数据就有可能不同步。除此之外,数据库服务器也不知道哪些客户端的数据是最新的,哪些客户端的数据仍然是旧的数据。解决此类问题有如下的一些策略。
对于服务器端的数据更新,可分为两类情况:
(I)对于一致性要求非常严格的应用,可在一出现数据项更新时,立即发出广播通知。
(2)对于一致性要求不是很严格的应用,则可当更新积累到一定次数、一定时间或者一定程度后再一次性地发出广播通知。
发出更新通知的方法有两种:
(1)置无效(Invalidation)方法。在置无效方法中, 由服务器广播已经无效的数据,客户机收到通知后,把这些数据项从缓存中移出,等待接收新的广播数据。
(2)传播更新值(Propagation)方法。在传播更新值方法中, 由服务器广播发生更新的数据项的最新值,客户机若发现其缓存中的该数据项值与广播新值不同,则读取最新值进行替换。
对于由客户机端发起的数据更新情况,要依赖于上行链路来修改中心数据库的数据以解决数据一致性问题。当客户机端根据规定的权限提出对中心数据库中资料的修改请求时,服务器在收到修改请求后首先进行权限认证,认证通过后就可以将修改请求递交给中心服务器,修改完成后服务器再通知该客户机修改成功,并在需要时广播更新值。
3.3移动数据库的事务管理问题
3.3.1移动数据库的事务特点
事务处理是数据库处理的一个重要的方面,它的主要作用是维护数据的一致性。与传统的分布式数据库的事务管理不同,移动数据库的事务管理有其自身的特点。
l、由于移动性和断接性等因素,移动事务之间共享部分结果和某些状态。
2、移动事务执行过程中,当移动用户移动时,事务的状态、所访问的数据对象的状态和位置信息也要移动,移动事务仍继续执行,但执行的地点由移动用户确定。事务移动(如:位置相关查询)过程中的用户位置属性的实时更新。
3、由于数据和用户的移动性以及频繁的断接性,导致移动事务的执行时间增加,成为长事务,并且在执行过程中更容易出错,所以要根据操作时间确认是否要使事务迁移,即长时间的事务操作将全部迁移到服务器上执行,无需保证网络的一直畅通。
4、移动事务要访问的是复杂的异构的多数据库,而且还要支持事务的并发执行、恢复操作、断接和复制的一致性。
5、数据库服务器要对移动数据库在频繁的,可预见的断接的情况下进行事务处理。事务处理过程中,网络断接处理时要确定是采用服务器发现机制还是采用客户端声明机制。
6、要保证有完善的日志记录。
另外,移动数据库的安全策略、移动Agent技术、移动数据库接口技术、移动数据库系统容错技术也是移动数据库研究的焦点问题。
3.3.2移动数据库的事务的类型
(1)弱事务,在离线情况下对本地EDB(嵌入式数据库)中的数据进行的操作所构成的事务。
(2)移动事务,移动终端在两次同步之间所执行的所有更新操作的集合.
(3)联机事务,移动终端在和网络保持连接时,直接在中心数据库上执行的事务。
(4)同步事务,在执行双向同步时,移动客户端对本地EDB所做的修改通过同步服务器上载到中心数据库,再将中心数据库的最新数据下载到本地,最后达到双方数据重新一致的整个过程。
3.4移动数据库的缓存管理问题
移动客户端的缓存是有限的,当缓存满的时候如何进行数据替换成为了移动数据库不可回避的问题。
移动数据库的缓存替换不应该像一般的分布式数据库那样在缓存中简单地保存最近经常访问地数据。移动数据库的替换策略应该充分考虑到网络的断接和数据广播的前提条件。总的思想应该是缓存中替换那些客户经常访问但是数据广播较少的数据。
经常使用的替换策略包括PIX算法和LIX算法。
PIX算法结合考虑了对象的广播频率,即将访问概率P与广播频率X的比值作为替换的衡量因子,选择P/X值最小的对象进行替换。尽管PIX算法在理论上是合理的,当在实际应用中,需要比较所有缓存对象的PIX值,代价过高,且对客户机的处理速度要求也会增加。
LIX是在LRU算法的基础上,加入了对象的广播频率因素,与LRU算法相似,LIX算法也采用栈结构实现替换,所不同的是,栈结构按广播频率划分。LIX维护的是一组栈:即每个广播磁盘都对应于一个栈,每个缓存对象都被放入它所在的广播磁盘所对应的栈中。与LRU算法相同,若该对象被命中,将其移到栈顶。当发生缓存不命中且缓存已满时,LIX算法只需比较每个栈的栈底对象的LIX值,将其中LIX值最小的对象替换出缓存。
3.5移动数据库的安全管理问题
由于移动数据库是嵌入在移动设备当中,所以根据移动设备所具有的移动性大,移动环境复杂,无线网络不稳定等方面的特点,移动数据库应该在有可能的情况下尽量保证其安全性。移动端的保证安全性的主要措施有:第一,对移动终端进行认证,防止非法终端的欺骗性接入 ;第二 ,对无线通信进行加密,防止数据信息泄漏 ;第三,对下载的数据副本加密存储,以防移动终端物理丢失后的数据泄密。
4 当今一些移动数据库产品
移动数据库根据现实需要分为水平移动数据库和垂直移动数据库。水平移动数据库指的是某些移动数据库在做一些简单的设置之后便可以应用到一些行业,具有通用性的特点。垂直移动数据库是专门针对某些特殊行业所设计和开发的移动数据库。
目前,国内外公司都有一些针对移动数据库的产品,如国外的Oracle和SQL SERVER。国内的产品,如Swift DB和甲骨文移动数据库。有些垂直移动数据库产品也在国内外得到了应用和开发。如基于PDA的公交信息数据库。
由于移动数据库具有具体环境具体设计的特点,所以目前还没有哪一种移动数据库可以适应所有的现实需要。可以说国内外目前处于的是同一条起跑线,这对国内的科研机构和开发公司是一次绝好的发展契机。
5 总结
移动数据库由于通讯和计算机技术的快速发展,已经得到和广泛的关注,特别是它与目前某些技术密切吻合,使得它具有广阔的前景和发展空间。移动数据库在GPS,智能公交系统等方面已经有了应用,在未来的一段时间内,移动数据库将在航空航天、医药、经济领域不断的发展。随着通信技术和计算机硬件设施的不断进步,移动数据库肯定会成为信息社会不断前进的重要力量。
参考文献
[1] 徐立臻,张 洁,恽益群,赵 呖,吴文明,董逸生.SwiftDB:一个支持行业应用的移动数据库系统.应用科学学报,2004.12。
[2] 童蔚苹,蔡先华,徐立臻.基于PDA的公交信息数据库设计与查询算法.现代测绘,2004.6。
[3] 甲骨文推出移动数据库.开放动态。
[4] 李荣鑫,洪胜华.嵌入式移动数据库查询优化策略研究.微机发展.2005.5。
[5] 孙元超,邵时.嵌入式移动数据库的客户机端Cache管理.计算机工程.2004.5。
[6] 黄军政,蔡瀛捷.移动计算推动数据库移动.软件频道.2004.9.27。
[7] 曾宪权,冯玉东.移动数据库技术研究与应用.计算机时代.2004年第10期。
[8] 黄军政,蔡瀛捷.嵌入式移动数据库的应用研究。