引言
移动数据库的应用大多嵌入到诸如掌上电脑、PDA等移动通信设备中,属于移动环境下的分布式数据库。移动计算是随着移动通信、互联网、数据库、分布式计算等技术的发展而兴起的新技术。移动计算技术将使计算机或其他信息智能终端设备,在无线环境下实现数据传输及资源共享。它的作用是,与中央信息系统相互作用, 分担中央信息系统的计算压力,将有用、准确、及时的信息提供给任何时间、任何地点的任何客户。移动计算环境比传统的计算环境更为复杂和灵活,具有移动性、低带宽、频繁断接性、网络通信的非对称性、电源能力的有限性等特点,这使得传统分布式数据库中的方法和技术不能直接应用于移动数据库。
根据嵌入式移动数据库自身所具有的特点,采用与普通数据库不同或更优的查询策略变得尤为重要。本文介绍了位置相关查询优化和数据广播两种普遍用于移动数据库查询的方法,结合移动数据库中的缓存技术,分别从合理分配嵌入式移动数据库资源和在一定程度上解决移动数据库的断接问题这两点,实现嵌入式移动数据库的查询优化。
1 位置相关查询优化
1.1 嵌入式移动数据库的结构体系及特点
在传统的分布式计算系统中,各个计算节点之间是通过固定网络连接并保持网络的持续连接性的,而移动计算系统改变了这种假设条件。移动计算系统是固定节点和移动节点构成的分布计算系统。
移动计算的网络环境具有自身的特点:移动性、断接性、带宽多样性、可伸缩性、弱可靠性、网络通信的非对称性、电源能力的局限性等。移动数据库的计算环境是传统分布式数据库的扩展,可以看作客户端与固定服务器节点动态连接的分布式系统,因此移动计算环境中的数据库管理系统是一种动态分布式数据库管理系统。由于移动数据库在移动计算的环境下应用在嵌入式操作系统之上,所以它具有微小内核结构、支持标准SQL、事务管理功能、完善的数据同步机制、支持多种连接协议、完备的数据库管理功能,以及支持多种嵌入式操作系统的特点和功能需求。
1.2 位置相关查询优化方式
在移动数据库中,存在着与位置相关信息的查询及更新。查询通常是与位置相关的,即使是同一个问题,在不同的地方所得查询结果是不同的。
位置相关查询是查询条件中隐含有查询者所在位置信息的查询。其查询处理不同于普通数据库查询处理,它要将移动用户的位置信息加入到查询条件中,并附加必要的语义信息(如“最近的”等)。类似的位置相关查询是一类很重要的查询问题,例如司机查询最近的加油站、救护车查询最近的医院、旅客查询最近的饭店等。一般可以把这类地址相关查询表示为:
SELECT x1,x2, .,xn
FROM Users
WHERE (x1.loc = l1∧l2∧.∧xn.loc =ln∧C(l1,l2,.,ln)∧W(x1,x2,.,xn))
其中: “x1,x2,.,xn”表示移动用户对象;Users表示所有移动用户的集合;loc表示记录移动用户最近报告的地址(无线单元的ID);C(l1,l2,.,ln)是关于地址“l1,l2,.ln”的n元约束条件;W(x1,x2,.,xn)是关于对象“x1,x2,.,xn”非地址属性的n元约束条件。
2 数据广播
2.1 数据广播的优点
在一个无线单元内,从服务器到移动客户机的下行通信带宽一般要远大于从移动客户机到服务器的上行通信带宽,而且移动客户机从服务器接收数据的开销也远小于发送开销,因此在大部分场合中,即使是处于断接状态的移动客户机也可以选择接收从服务器发送的下行广播信息。于是,可以利用这种网络的非对称性,由数据库服务器把大多数用户频繁访问的数据(即热点数据) 组织起来,以周期性的广播形式提供给移动客户机访问,这种数据发布方式称为“数据广播”。
通俗地讲,数据广播是指在移动计算环境中,利用移动客户机与服务器通信的不对称性,以周期性广播的形式向客户机发送数据。其最大的优点是,广播开销不依赖移动用户数量的变化而变化,借助数据广播,可以在一定程度上解决移动数据库系统的断接问题。数据广播的研究可分为服务器和移动客户机两个方面:服务器主要考虑如何组织广播数据,即数据广播的调度;移动节点主要考虑如何利用本地缓存进一步减少查询广播数据的时间。
它具有以下优点:
① 很好的可伸缩性。因为服务器广播数据的开销与接收广播的客户机数是无关的,因此它可以以很小的代价支持大量移动客户机同时访问数据。
②移动客户机可以不需要数据缓存。
③ 即使在断接时也允许移动客户机访问到最新数据。
④ 移动客户机不再需要预测未来的数据请求。
数据广播是解决移动数据库系统用户规模庞大及网络通信非对称问题的一种有效办法。衡量数据广播调度算法好坏的参数主要有2个:访问时间和调谐时间。
2.2 数据广播的标准
数据的传输是基于MPEG2 TS流的。针对不同的应用类型,数据广播定义了以下6种方式: 数据管道、数据流、多协议封装、数据传送带、对象传送带和用户自定义的服务。
如图1所示,数据广播标准针对不同的应用类型规定了不同的服务级别。数据管道标准对如何从MPEG2 TS流中恢复数据并没有给出具体的细节,它只是简要描述了如何将数据放入MPEG2 TS流的分组中去。数据流标准增加了更多的功能,特别是定时。这使得进行异步的数据广播、被同步的数据广播以及同步的数据广播变得可能。多协议封装、数据传送带、对象传送带标准都是建立在使用MPEG2的DSMCC帧结构基础上的。它是基于MPEG2 ISO/IEC 138181中定义的MPEG2中的私有部分。数据广播增加了一些特定的信息以使该帧结构在DVB环境中工作,特别是同业务信息(SI)的结合。
图1
3 复制与数据查询缓存机制
复制是在多个移动节点上维护数据的备份,包括服务器之间的复制和移动计算机上保存数据库的复制。一般前者称为“复制”,后者称为“缓存”。复制的主要目的是提高分布式数据库系统的可用性、可靠性和访问性能。首要的问题是如何维护多个复制节点上数据状态的一致性。按照维护复制一致性的方式来划分,现有的复制协议可以分为严格一致协议和弱一致协议两种。严格一致协议要求任何时刻所有数据库的复制都是一致的;而弱一致协议允许各个复制之间存在暂时的不一致,但这种不一致总能够保持在一定的界限之内,而且总是能够趋于一致(收敛性)。
缓存是介于应用程序和物理数据源之间,其作用是降低应用程序对物理数据源访问的频率,从而提高应用的运行性能。缓存内的数据是对物理数据源中数据的复制,应用程序在运行时从缓存中读写数据,特定的时刻或事件会同步缓存和物理数据源的数据。移动客户机与服务器之间的无线网络带宽有限,而缓存技术可以有效地减少通信量,从而避免网络的拥塞。
传统的缓存技术要求移动客户机保持与服务器的连接,这样才能维护缓存的一致性,而采用移动计算模型的嵌入式移动数据库系统与传统的数据库系统则不同。嵌入式移动数据库的一个显著特点是,移动终端之间以及与服务器之间的连接是一种弱连接,即低带宽、长延迟、不稳定和经常性的断开。在移动计算环境中,若采用传统的方法,由于移动客户机经常断接,断接期间客户机将无法接收到缓存失效信息,因此在重新联机时必须将整个缓存作废,既使缓存失去了其应有的作用,又会严重浪费有限的无线网络带宽。
而为了能在这种环境下对数据库进行更新操作, 嵌入式系统必须提供数据复制与同步功能, 使得嵌入式移动数据库系统可以随时随地从其他数据库系统中获得准确的、最新的、有用的、一致的数据。现在普遍采用乐观复制方法(optimistic replication或lazy replication) 允许用户对本地缓存上的数据副本进行操作。待网络重新连接后再与数据库服务器或其他终端交换数据修改信息, 并通过冲突检测和协调来恢复数据的一致性。
4 嵌入式移动数据库优化查询方法
移动查询优化技术是指在传统分布式数据库查询优化技术的基础上,利用多种方法消除带宽多样性、断接等因素造成的影响,使查询引擎能够根据当前可用网络条件采取恰当的优化策略;同时,针对移动计算机有限的电源能力,合理地组织本地数据库管理、远程数据库访问等耗电较多的操作,达到节能目的并延长关键数据的可用时间。
研究表明,位置相关查询优化方法在一定程度上优化了嵌入式移动数据库资源问题,而在数据发送方式上,数据广播将客户要经常访问的、热点数据以周期性广播的方式发送给移动客户机,即使是客户机处于断接的情况下,同样可以收到服务器广播的数据。通过合理地分配资源,结合数据库缓存技术,利用数据广播的优点,这几种方法较好地解决了移动数据库的断接问题,从而实现嵌入式移动数据库的数据查询优化。
作为解决移动数据库断接问题的关键技术,缓存技术在传统的分布式数据库中得到广泛应用。它通过在客户机上缓存部分数据,达到减少访问数据库服务器的目的,从而提高性能。在嵌入式移动数据库中,在客户机断接的情况下,用户可以从客户缓存中查询到全部或部分数据。断接性是移动数据库环境众多特点中很重要的一条,采用复制/缓存技术是解决移动数据库断接问题的一种有效途径。移动客户机上的数据库容量有限,并且在实际运行时会发生变化,通过对数据库资源的更优化分配,可使在处理数据时,不再使用或优先选择使用频率较低的关系和数据。通过使用这些关系和数据,降低了对系统资源的需求,从而实现嵌入式移动数据库查询优化。
结语
现今,随着嵌入式移动技术的不断发展,在其各个领域内各项技术难关不断被突破。其中,嵌入式移动数据库技术发展更为迅速,而人们对嵌入式移动数据库产品的需求也是越来越迫切, 要求也越来越高。但逐渐增多的产品也暴露出了嵌入式移动数据库技术依然存在的各种缺憾。然而,作为国内刚起步的新兴产业,对嵌入式移动数据库技术领域的研究,必将吸引更多学者的目光。