高级数据库技术第7章移动数据库.ppt

上传人:李司机 文档编号:4111354 上传时间:2023-04-04 格式:PPT 页数:111 大小:404.50KB
返回 下载 相关 举报
高级数据库技术第7章移动数据库.ppt_第1页
第1页 / 共111页
高级数据库技术第7章移动数据库.ppt_第2页
第2页 / 共111页
高级数据库技术第7章移动数据库.ppt_第3页
第3页 / 共111页
高级数据库技术第7章移动数据库.ppt_第4页
第4页 / 共111页
高级数据库技术第7章移动数据库.ppt_第5页
第5页 / 共111页
点击查看更多>>
资源描述

《高级数据库技术第7章移动数据库.ppt》由会员分享,可在线阅读,更多相关《高级数据库技术第7章移动数据库.ppt(111页珍藏版)》请在三一办公上搜索。

1、第7章 移动数据库7.1 移动数据库简介,7.1.1 移动数据库与移动计算,移动计算的概念是对“任何时间、任何地点的立即通讯”的扩展。在分布式计算的基础上,计算环境进一步扩展为包含各种移动设备、具有无线通信能力的服务网络,构成了一个新的计算环境,即移动计算环境,嵌入式移动数据库系统是支持移动计算或某种特定计算模式的数据库管理系统,数据库系统与操作系统、具体应用集成在一起,运行在各种智能型嵌入设备或移动设备上。其中,嵌入在移动设备上的数据库系统由于涉及数据库技术、分布式计算技术,以及移动通讯技术等多个学科领域,目前已经成为一个十分活跃的研究和应用领域嵌入式移动数据库或简称为移动数据库(EMDBS

2、)。,移动计算是建立在移动环境上一种新型的计算技术,它使得计算机或其他信息设备在没有与固定的物理连接设备相连的情况下能够传输数据。移动计算的作用在于,将有用、准确、及时的信息与中央信息系统相互作用,分担中央信息系统的计算压力,使有用、准确、及时的信息能提供给在任何时间、任何地点需要它的用户。移动计算环境由于存在计算平台的移动性、连接的频繁断接性、网络条件的多样性、网络通讯的非对称性、系统的高伸缩性和低可靠性以及电源能力的有限性等因素,它将比传统的计算环境更为复杂和灵活。这使得传统的分布式数据库技术不能有效支持移动计算环境,因此嵌入式移动数据库技术(Mobile Database)由此而产生,它

3、涉及传统的数据库技术,分布式计算技术,以及移动通讯技术等多个学科领域。,7.1.2 移动数据库的特点,(1)移动性及位置相关性:移动数据库可以在无线通讯单元内及单元间自由移动,而且在移动的同时仍然可能保持通讯连接;此外,应用程序及数据查询可能是位置相关的。这要求移动数据库系统支持这种移动性,解决过区切换问题,并实现位置相关的处理。(2)频繁的断接性:移动数据库与固定网络之间经常处于主动或被动的断接状态,这要求移动数据库系统中的事务在断接情况下仍能继续运行,或者自动进入休眠状态,而不会因网络断接而撤消。,(3)网络条件的多样性:在整个移动计算空间中,不同的时间和地点连网条件相差十分悬殊。因此,移

4、动数据库系统应该提供充分的灵活性和适应性,提供多种系统运行方式和资源优化方式,以适应网络条件的变化。(4)系统规模庞大:在移动计算环境下,用户规模比常规网络环境庞大得多,采用普通的处理方法将导致移动数据库系统的效率极为低下。,(5)系统的安全性及可靠性较差:由于移动计算平台可以远程访问系统资源,从而带来新的不安全因素。此外,移动主机遗失、失窃等现象也容易发生,因此移动数据库系统应该提供比普通数据库系统更强的安全机制。(6)资源的有限性:移动设备的电源通常只能维持几个小时;此外,移动设备还受通讯带宽、存储容量、处理能力的限制。移动数据库系统必须充分考虑这些限制,在查询优化、事务处理、存储管理等诸

5、环节提高资源的利用效率。,(7)网络通讯的非对称性。上行链路的通讯代价与下行链路有很大的差异。这要求在移动数据库的实现中充分考虑这种差异,采用合适的方式(如数据广播)传递数据。此外,如果系统所嵌入的某种移动设备支持实时应用,则嵌入式数据库系统还要考虑实时处理的要求。这是因为设备的移动性,如果应用请求的处理时间过长,任务就可能在执行完成后得到无效的逻辑结果,或有效性大大降低。因此,处理的及时性和正确性同等重要。,7.1.3 移动数据库的典型系统模型,图1 移动数据库的典型系统模型,动数据库系统由三类结点组成,即:(1)服务器(SVR):一般为固定结点,每个服务器维护一个本地数据库,服务器之间由可

6、靠的高速互联网络连接在一起,构成一个传统意义上的分布式数据库系统.服务器可以处理客户的联机请求,并可以保持所有请求的历史记录。,(2)移动支持结点(简称MSS):MSS也位于高速网络中,并具有无线联网能力,它们用于支持一个无线网络单元(cell),该单元内的移动客户机既可以通过无线链路与一个通信,从而与整个固定网络连通,也可以接收由发送的广播信息。服务器与可以是同一台机器。(3)移动客户机(简称):的处理能力与存储能力相对于服务器来说非常有限,且具有移动性(即可以出现在任意一个无线单元中),经常与服务器断接(指无法与服务器联机通信)。即使在与服务器保持连接时,由于所处的网络环境多变,与服务器之

7、间的网络带宽相差很大,且可靠性较低、网络延迟较大。,7.2 移动数据库的关键技术,在移动数据库的关键技术的研究中,比较重要的有复制与缓存技术、数据广播、移动查询技术、移动事务处理技术等,7.2.1 移动数据库的复制与缓存技术,移动数据库的复制技术包括两部分:首先是服务器节点间的数据复制,简称为复制;另外还包括移动节点与服务器节点之间的复制,这常被称为缓存。复制技术首要考虑的问题是维护多个复制节点上数据的一致性。现有的复制协议可分为严格一致性协议和弱一致性协议两类:严格一致性协议要求在任何时刻所有数据库的复制都是一致的;而弱一致性协议允许各个复制之间存在暂时的不一致,但这种不一致总是保持在一定的

8、界限内,而且总是能够趋向于一致,严格一致性协议是数据库系统追求的目标,但是在移动数据库系统中它却并不合适,因为严格一致性协议需要所有节点都处于连接状态,以完成所有副本的更新,而移动计算环境中移动节点却有频繁断接的特点。另外,即使是在保持连接的服务器节点间采用严格一致性协议,其可用性也很差,因此只要允许,服务器节点间的复制更新也常采用弱一致性协议。,移动计算环境下复制技术需要考虑的主要问题有三个(1)考虑移动节点与服务器节点间如何合理分配数据的问题。即要考虑如何提高移动节点缓存数据的命中率问题。,(2)考虑移动节点与服务器节点数据的同步问题。移动节点在网内时,在可以保持两者数据同步的情况下应尽量

9、减少两者的通信时间与通信量,以节省通信费用。在移动节点断接后重新入网时,节点在断接期间对本地缓存所做的操作可能与服务器对数据的操作产生冲突,这时候采取什么冲突策略是移动复制缓存技术需要考虑的最重要的问题。(3)考虑如何改良服务器节点间的复制策略以使其更高效、更好地支持移动性。,1两级复制体系结构两级复制体系是J.Gray在90年代初提出的,它以主副本更新复制协议为基础。主副本更新方式在分布式数据库中十分常用,其主要思想是在数据对象的多个副本中指定一个主副本,从而更新事务只要更新了主副本的值便认为是逻辑完成了,由主副本所在的场地更新其他副本的值。,针对移动数据库系统的结构特点,该体系把节点分成两

10、类:一类称为基节点,它们联接在高速固定网络中,在基节点间存在一个复制策略,称为第一级复制;另一类是移动节点,他们经常处于断接状态,它们也存有与基节点之间的复制缓存,称为第二级复制。数据对象的主副本大部分位于基节点中,但也可位于移动节点中。,由于移动节点可能处于断接状态,事务有可能不能及时更新数据对象的主副本的值,因此把事务分成两类:(1)基事务:它在对象的主副本上执行,更新对象的主副本值。(2)暂态事务:它主要产生于移动节点中,即在断接期间对本地缓存的数据进行操作的事务,它保证移动节点在断接期间仍能尽可能的继续工作。暂态事务在移动节点重新联机时,将会产生一个基事务,以真正更新数据对象主副本的值

11、,保持系统数据的一致性。,由于存在暂态事务,移动节点上的每个复制对象都维护两个值:(1)主版本:指从数据对象的主副本得到的最新值。(2)暂态版本:在断接期间由本地暂态事务对缓存的数据对象进行操作产生的新值。在断接期间该新值对移动节点本身是可见的,即断接期间移动节点看到的数据对象的值为该暂态版本。暂态事务必须遵循一条准则:它们只能访问主节点是基节点或移动节点本身的数据对象。,两级复制体系的同步处理策略是这样的:当移动节点处于联机状态时,它类似于主副本更新协议。移动节点使用复制对象的主版本值,并适时更新其值,保持与基节点数据的一致性,为断接状态做好准备。当移动节点处于断接状态时,移动节点使用其数据

12、库复制继续工作,生成若干暂态事务,并把这些事务对数据对象的更新保存到数据的暂态版本中。此时移动节点可见的数据是复制对象的暂态版本。,当移动节点由断接状态重新入网后,对于移动节点,它需要做以下工作:(1)它需要把断接期间对主副本在本移动节点的数据对象的更新值传给基节点,再在基节点间传播此更新。,(2)它需要接收主副本在基节点的数据对象的更新值,使其复制对象的主版本重新与基节点数据保持一致。移动节点可见的数据重新变为主版本,暂态版本将被丢弃。(3)在基节点上重做暂态事务。它向基节点提交所有暂态事务及其输入参数,由基节点生成并执行对应的基事务。并等待基事务的处理结果,与基节点相配合完成对应的基事务。

13、,,对于基节点,它发现一个移动节点重新联机时,需要做以下工作:(1)将主副本在基节点上的数据对象的更新值发给移动节点,以同步移动节点复制对象主版本的值。,(2)接收移动节点发送的主副本在该移动节点的数据的更新值,并采用一定的策略把此更新值传播到其他基节点中。(3)接收移动节点的暂态事务序列及其参数,生成相应的基事务并执行。该基事务执行得到的结果很可能与原来在移动节点执行的暂态事务得到的结果不同。此时,根据需要,我们或者可以通知移动节点该事务失败,并同时夭折所有基于该事务结果的事务;也可以简单的把基事务得到的新结果传回给移动节点,并执行后续事务。,综上所述,两级复制体系既支持移动节点在断接情况下

14、继续进行数据的读写,提高了系统的可用性,又能在重新入网时采取适当的同步策略保证系统数据的一致性,因此十分适合移动计算环境。但它也有一些缺陷,如暂态事务在基站中重做需要很大的开销等。,2三级复制体系结构三级复制体系结构是由我国学者提出的。从1996年开始,长沙国防科技大学成立有关研究小组对移动数据库进行研究,提出了一种移动数据库的三级复制体系结构,简称TTR(Three-Tier Replication Architecture),它是国内移动数据库复制技术中最有代表性的研究。三级复制体系结构包括服务器级复制,空中复制和客户机缓存这三级复制机制,,(1)服务器级复制服务器级复制是指连接在固定高速

15、网络中的服务器节点间的复制策略。理论上这里可以采取传统的分布式数据库中所用到的协议,但是为了更好的支持移动计算环境,通常会采用比传统协议更弱的弱一致性复制协议。在TTR中设计了一种弱一致性复制协议,简称WCSR(Weakly Consistent Server Replication),它弱于前面提到的主副本更新复制协议。WCSR协议最大的优点是具有较短的响应时间,在该协议下,每个复制服务器都支持查询与更新操作,用户提交事务时,只要访问一个服务器就可以了:服务器在接到用户的查询事务时,直接返回用户本地复制的数据;而在接到用户的更新事务时,将该事务记入暂时事务日志后,也是直接对本地复制进行操作,

16、然后马上返回结果给用户。,以上WCSR协议的操作方式将允许复制服务器间存在暂时的不一致性,因此它采用一种周期成对同步的复制更新方式来收敛这种不一致性。它的主要思想是:每个服务器周期地选择另一个服务器来交换各自的暂态事务日志,同步双方的数据库状态,经过有限次的成对同步后,所有复制服务器间的数据库状态便达到一致了。在两个服务器同步时,为了维护不同服务器上并发更新事务的一致性,采用了基于时间戳的并发控制方法,并采用了一种基于应用语义的冲突检测与消解技术,避免不必要的事务冲突。WCSR实际上也是一种可变一致性的复制机制,它通过对强事务的支持来满足用户对高一致性的要求。当用户需要取得高一致性而愿意牺牲性

17、能和响应时间时,可以发出强事务的请求,从而取得与传统严格一致性复制协议相似的执行效果。,(2)空中复制空中复制,即数据广播,指的是服务器利用无线网络固有的广播能力,将服务器数据库中经常被用户访问的热点数据组织起来,经由无线信道向移动用户广播。易知这是一种只读的数据复制方式,即移动节点单方面对广播数据进行读取。,无线网络具有非对称性的特点,从服务器到移动节点的通信带宽要远高于移动节点到服务器节点的带宽,同时移动数据接收数据的开销远小于发送数据的开销。在移动节点无法向服务器发送数据时,仍可以从服务器的广播中接收数据,并且无线网络的广播有其特点,它支持同一无线网络的大量移动节点同时接收,并且其广播代

18、价总是一定的,不随接收的移动节点的多少而变。空中复制充分利用了无线网络的这个特点,使用适当的方式发掘并组织好热点数据,然后向无线网络中的移动节点进行广播,从而允许大规模的用户在不占用网络上行带宽的情况下同时访问到热点数据,减少了移动节点的联机开销,省下来的上行带宽还可以支持更多移动节点对服务器的访问,大大提高系统的可伸缩性。,数据广播技术中的一个首要问题是如何调度待广播的数据,优化数据广播的访问时间与调谐时间。访问时间代表了移动节点访问广播数据的等待时间,而调谐时间则反映了移动节点为接收指定数据而保持接听数据广播的总时间。为此,TTR设计了一种数据广播的启发式多盘调度算法HMD。另外,TTR还

19、研究了将客户机对服务器的联机请求访问方式(PULL)与数据广播方式(PUSH)结合起来的混合式信息访问范形.,(3)客户机缓存客户机缓存是指在移动节点上缓存服务器数据库的数据,以使移动节点在断接情况下能够通过操作缓存数据而继续工作。TTR使用一种称为MCC的机制来管理移动节点上的缓存,该机制的核心是缓存管理器CM。客户机缓存机制的工作方式如下:,当移动节点处于联机状态时,它通过直接访问服务器数据库来执行事务。缓存管理器CM一方面把移动节点的事务提交给服务器执行,另一方面向服务器申请建立并维护本地数据缓存。联机状态下的数据缓存在联机状态时并不被移动节点访问,它只是为稍后的断接操作准备数据。,当移

20、动节点处于断接状态时,它使用先前建立的数据缓存继续工作。缓存管理器CM将移动节点对缓存数据的更新操作记录在暂时事务日志中,并将更新结果记录在数据对象的暂时版本中,该更新值在整个断接期间都是可见的。,当移动节点由断接状态重新变成联机状态时,CM将断接期间的所有暂时事务及其参数发送给服务器,在服务器上重做该事务,并接收事务的结果。,三级复制体系结构的主要思想与两级复制体系结构的对比:三级复制体系结构增加了空中复制机制,充分利用了无线网络广播的特点,既支持了大规模用户同时对热点数据的访问,又节省了无线网络的上行带宽,有效提高了系统的可伸缩性,两者的复制布局存在很大的不同。三级复制体系结构中客户机缓存

21、只单纯地缓存服务器节点的数据,它只是被动地随服务器节点上数据的改变而改变,因此即使在移动节点联机操作时,移动节点上的缓存数据与服务器节点上的数据也不是处于同一个等级的;而在两级复制体系结构中,主副本是可以存在于移动节点上的,因此当移动节点处于联机状态时,其上的数据缓存跟服务器节点上的数据复制是处于同一个等级的,两者相互影响。,在复制协议上,三级复制体系结构所采用的WCSR协议要比两级复制体系结构所采用的协议要弱,因此其上也更容易产生数据的不一致性,需要更多的策略来控制数据状态的收敛。当然WCSR协议也可以以牺牲系统性能为代价支持高一致性的要求。,7.2.2 数据广播,数据广播即以广播的形式向移

22、动节点发送数据,它是针对通常的无线网络通信所具有的非对称性而提出来的。通常在无线网络内从服务器到移动节点的下行通信带宽要远大于移动节点到服务器的上行通信带宽,从通信费用来说移动节点上行发送数据的开销通常远大于下行接收数据的开销。因此用户总希望在保证移动节点能获得所需数据的情况下,尽量减少对服务器的上行通信量。数据广播在能在某种程度上满足这种要求,因为无线网络中的数据广播有一优点:服务器向无线网络广播数据的开销是固定的,而与接收广播的移动节点的数量无关。因此充分利用这一优点,由服务器选择并组织好移动用户的热点数据,以周期性的广播形式向网内的移动节点广播,便能在固定开销的情况下向大规模用户提供数据

23、了,数据广播也是数据复制技术的一种。数据广播可以看作是移动节点数据缓存的一种扩充,当移动节点所需数据不在其数据缓存内,又暂时不能跟服务器连接时(如上行通信带宽已满),移动节点还可以侦听数据广播,从数据广播中找寻其所需数据。数据广播相对于缓存有许多优点,如能轻松保证数据是最新的、不需占用移动节点有限的存储等,当然,数据广播是一种只读复制技术,即它只能支持移动节点的查询事务。,数据广播中的一个重要问题是选择及组织广播数据,这又被称为数据广播的调度问题。通常使用以下两个参数来衡量和研究数据广播的调度算法:(1)访问时间:它指从移动节点提出访问请求开始到从广播中获得结果为止所需要的时间,它用来衡量移动

24、节点查询数据的响应时间。(2)调协时间:它指移动节点为了访问数据而保持接听广播的总时间。因为移动节点接听广播需要消耗电源,因此减少调协时间便能节省移动节点本来就有限的电源供应。,在访问时间的优化上,通常的做法是采用一种称为多盘广播调度的方法。服务器通过分析移动节点的请求,并适当引入一些背景知识,归纳出用户经常访问的热点数据,并把这些数据按照访问概率再分为若干组,让访问概率高的数据在一个广播周期中出现次数多,而访问概率低的数据在一个广播周期中出现次数少。例如假设要广播A、B、C三个热点数据,移动节点对它们的访问概率的比值为2:1:1,则我们可以把一个广播周期组织为“ABAC”的形式,于是实际上数

25、据A的广播周期要比其他数据要短,从而达到了更频繁地把A广播出去的效果。,在调协时间的优化上,通常的做法是引入索引信息。在可以与服务器通信时,可以考虑从服务器中直接获取索引信息,但更通常的做法是在数据广播中插入索引信息。当移动客户机侦听数据广播时,它先侦听索引信息,再由索引信息得知所需数据到来的时间,因此移动节点便可以在数据到来前转入休眠,节省电源消耗。,7.2.3 移动查询技术,移动查询处理通常工作在无线网络环境下,由于无线网络具有带宽多样性、频繁断接性等特点,移动查询需要在传统分布式数据库查询优化技术的基础上进行改良与扩展,以适应无线网络的特殊要求,1.查询费用移动查询技术应足够灵活,综合考

26、虑网络带宽的利用和通信费用问题,能根据用户指出的优先考虑的因素来进行优化。前面提到的移动客户机缓存技术也能在一定程度上解决查询费用问题。缓存技术最大的缺点是不能保证其缓存的数据是最新的,严格保证缓存数据与服务器数据的一致性需要复杂的技术与大量的开销。因此缓存技术只适合对数据一致性要求不高的场合。数据广播也是减少通信费用的一种途径。但是数据广播通常只广播热点数据,因此移动用户所需数据也常常不能在数据广播里找到。,2.位置相关处理在无线网络中使用位置服务器来对移动节点的位置进行跟踪和管理。位置服务器放置在固定网络中,这些位置服务器彼此互联。每一位置服务器下接若干个移动基站MSS,我们把一个位置服务

27、器下面连接的所有MSS 及其支持的无线网络单元称为该服务器的覆盖范围,每个位置服务器负责跟踪并管理位于自己覆盖范围内的移动计算机的地址。每个移动计算机都在某一个位置服务器上作永久性的登记,该服务器称为它的宿主服务器(Home Location Server)。此外,当它移动到其他位置服务器的范围内时,以访问者的身份向当地的位置服务器登记,并通报给其宿主服务器。像Internet中的DNS服务器一样,位置服务器也可以组织成层次的形式,支持大规模的移动计算环境。,我们举个例子来说明上面介绍的位置服务器是如何工作的,图2 位置服务器工作示意图,假设网络中有两个位置服务器LDBS_A和LDBS_B,L

28、DBS_A管理移动基站A、B、C、D、E,LDBS_B管理移动基站F、G、H、I、J。假设移动计算机MC_A的宿主服务器为LDBS_A,当它从无线单元A移动到无线单元F时,以访问者的身份在LDBS_B中登记,并通知宿主服务器LDBS_A,由此LDBS_A获知此刻MC_A的位置受LDBS_B所跟踪。于是,查询MC_A的位置的步骤为:1)首先访问MC_A的宿主服务器,得知此刻MC_A的位置受LDBS_B所跟踪。2)向LDBS_B发出请求。LDBS_B向其下接的移动基站F、G、H、I、J广播,通过基站F的反馈,得知MC_A在无线单元F内。,在位置服务器的工作过程中,第一步是需要确定移动计算机的宿主服

29、务器。为了快速定位宿主服务器,一方面需要仔细组织好位置服务器的分布与层次结构,另一方面也需要在为每个移动计算机分配一个唯一的有意义的标识ID,类似于Internet上的DNS服务器策略,最好是可以根据该ID便能推断出该移动计算机的宿主服务器。,在位置服务器工作的第二步,移动计算机所在的位置服务器需要向其下接的所有基站广播.一个可行的折衷策略是把每个位置服务器下的基站MSS划分成若干组,移动计算机只有在从一个组移动到另一个组内时,才向服务器报告其位置变动。以图7-2为例,假设把位置服务器LDBS_B下接的基站分为两组,组一为F、G、H,组二为I,J。则当移动节点MC_A沿 FGHIJ的路径移动时

30、,只需要在HI切换时通知位置服务器LDBS_B,若不采取分组的形式,则总共需要向LDBS_B报告4次。,在位置服务器下接的基站集合中采用分组策略后,位置服务器保存的信息为移动计算机所在的组,当位置服务器需要获得移动计算机的确切位置时,只需要在改组内广播便可以了。当LDBS_B需要查询MC_A的确切地址时,只需要在组一中广播,则由基站F的反馈,便能确定MC_A在无线单元F内了。,位置服务器在基站组内找寻移动计算机的确切位置时,还有另外两种更好的策略:1)优先表。每个基站组内按移动用户所在的可能性把基站组织成一个优先列表,位置服务器查询移动用户确切位置时,按照优先列表依次查找各个基站,直到找到为止

31、。最坏情况下,需要遍历基站组内的所有基站才能确定用户位置。我们不妨设LDBS_B的组一的优先表为G,F,H,则当位置服务器LDBS_B查找MC_A的确切位置时,首先访问基站G,然后访问基站F,获知MC_A在基站F处。整个查询访问了两个基站。,2)指针。当移动用户MC由基站组一的无线单元A移动到基站组二的无线单元C时,在位置服务器重新登记MC的地址为“组二的无线单元C”,当MC在基站组二内由无线单元C移动到无线单元D时,由无线单元C建立一个指针指向D。如果MC回到一个已进入过的无线单元,则只需断掉产生的指针回路即可。最坏情况下,需要沿指针遍历组内所有基站才能确定用户位置。而当MC_A初进入无线单

32、元F时,其在位置服务器LDBS_B上登记的地址应为“组一的无线单元F”,假设MC_A由F移动到无线单元G,则将在F上建立一个指向G的指针。于是当LDBS_B需要查询MC_A的确切位置时,它首先根据MC_A登记的地址信息访问F,再由F依据指针访问G,从而获知MC_A在无线单元G处。,当移动用户的位置信息与空间数据库等相结合时,便能完成很多复杂的位置相关的查询问题了。例如一个查询问题“移动用户MC_A离最近的银行有多远”,其执行步骤可以如下:1)首先通过位置服务器找到MC_A所在的无线单元B。2)通过无线单元B向移动用户MC_A发送请求,向它索要其所在位置的更详细信息。3)MC_A通过自身的定位系

33、统收集其所在位置的详细信息loc(如其所在位置的详细经纬度),并返回该信息。4)根据MC_A返回的位置信息loc查询空间数据库中的地图信息,定位MC_A在地图中的位置,并查找离该位置的最近的银行,计算两者的距离,便得到查询问题的结果了。,7.2.4 移动事务处理技术,1移动事务的特点(1)移动性。在事务执行期间,移动客户机很可能是处于移动状态,甚至可能会由一个工作区域移动到另一个工作区域,相应的移动事务也应具有移动性。(2)长事务。由于移动性、无线通信的低带宽和不稳定缘故,移动主机会出现断接;同时因移动主机自身能源有限,移动主机也会主动断接。这导致移动事务通常是长事务,可以和其它事务共享它们的

34、状态和部分结果。(3)易错性。由于移动客户机不如固定点可靠,而且无线网络通信也不如固定网络稳定,因此与一般事务相比移动事务更容易出错。另外由于移动事务通常会分为一系列子事务,各个事务之间的协调也相对复杂,更容易出错。(4)异构性。移动事务在执行过程中可能要访问更复杂的异构数据资源。,2.数据复制缓存技术与移动事务数据复制缓存技术本来就是为支持事务处理而设计的。为了适应移动环境中通信网络不稳定不对称等的特点,提高移动事务的处理效率,可以采取数据复制与缓存的办法,在服务器间复制数据,可以提高联机时事务的响应时间,同时在移动客户机上缓存一部分常用的数据,便可以在网络条件不好或是客户机与网络断开时,允

35、许用户对本地缓存上的数据副本进行操作,在重新连接或网络条件转好时再与其它节点交换数据修改信息,通过冲突检测和协调来恢复数据的一致性。,我们把对客户机本地数据进行的操作称为弱操作,相对应的,把对服务器上的数据的操作称为强操作。把全部由弱操作组成的事务称为弱事务,与之对应,把全部由强操作组成的事务称为强事务。当移动客户机与网络连通时,事务处理可以采用强事务的方式,而当网络条件不好,或是客户机与网络断开时,可以采用弱事务的方式,操作本地缓存的数据,当移动客户机与网络重新连通时,需要把弱事务提交到服务器中,把弱事务变成强事务。,对于强事务而言,服务器间的数据复制是提高强事务响应时间的一个策略。可以采用

36、前面介绍的分布式事务的管理策略来管理强事务,使服务器间的数据状态保持一致。不过移动事务更倾向于为了提高事务的响应时间而允许服务器数据复制间存在暂时的不一致,并制定专门的服务器间状态同步策略来收敛服务器间的数据复制。,对于弱事务而言,它提高了数据可用性和减少了事务的平均响应时间,但是它同时也带来了潜在的数据冲突,因为断接期间操作的缓存数据并不能保证是最新的,弱写操作所作的修改有可能与其它节点上的修改冲突。因此当弱事务向网络服务器提交时需要一个检测和解决数据冲突的机制,它的目标是维护数据库数据一致性的基础上尽量减少弱事务提交的夭折率。这是移动数据库研究的一个重要内容,典型的检测和解决冲突机制可参看

37、本章前面小节的两级复制体系结构和三级复制体系结构的内容。,3移动事务的过区切换通常在每个移动基站MSS上都有一个协调器来管理并监控移动事务的执行。当移动计算机MC_A在无线网络A中启动一个移动事务Tran_A时,在网络A的移动基站MSS_A上的协调器MSS_AC上需要维护移动事务Tran_A的一个上下文,记录该事务的运行信息;若事务还没有完成时,移动计算机移动到了无线网络B中,则需要网络B的移动基站MSS_B上的协调器MSS_BC与MSS_A上的协调器MSS_AC共同合作,才能完成事务Tran_A并返回结果给MC_A。两个协调器间的合作策略有很多,一个常见策略是MSS_BC与MSS_AC联系,

38、取得事务Tran_A运行情况的上下文,然后再由MSS_BC来负责完成事务余下的操作。协调器维护的事务上下文的内容取决于移动事务管理的策略,过少的内容将使协调器难以监控事务的执行,过多的开销又会增加协调服务器的开销,并加重协调服务器之间通信的开销,从而影响系统的性能。,4.移动事务处理模型一个理想的移动事务处理模型应具有以下特点:a较低的事务夭折率b保证系统中复制数据状态的一致性c有效支持用户在断接后的继续操作d低通信代价和高并行性e有效支持事务的迁移,并且该迁移应对用户透明f允许根据需要为事务的原子性提供灵活的支持,(1)Kangaroo事务模型Kangaroo事务模型引入了“分割事务”的概念

39、来支持事务的移动性。一个分割事务将一个正在执行的事务划分为可串行化的子事务,较早创建的事务完成提交后,后续的事务继续执行。当发生跨区切换时事务进行分裂,分裂后的事务迁移到新基站去继续执行。某子事务失败后由该子事务的补偿事务来恢复数据库状态。因此Kangaroo事务模式支持分割模式和补偿模式,但是该模型中并不是所有子事务都是可以补偿恢复的,因此若某先执行的子事务无法补偿恢复时,便无法保证事务的可串行性。另外,由于补偿事务是在子事务级别上实现的,因此可能会破坏事务的隔离性。,(2)Clustering事务模型Clustering事务模型把数据对象按语义相关性聚合成不同的簇,在簇内维护数据的严格一致

40、性,而在簇间可以按要求允许不同等级的一致性。这些不一致行最终将通过簇的归并来解决。为了支持移动计算,该模型引入了弱读,弱写,强读和强写等概念。强读和强写在语义上与传统数据库的读写操作相同,都满足事务的ACID四个准则。弱读是读取局部缓存的数据对象,弱写只是更新局部缓存的数据对象。包含弱操作的事务称为弱事务。弱事务的提交分为本地提交和全局提交。本地提交只是对本地缓存数据的操作,其执行结果并没有永久化,但该结果对其他弱事务可见。本地提交后的事务必须在服务器上进行全局提交,如果和任何强操作都不产生冲突,则该事务可以最终永久化。该模型不能支持事务的移动性。,(3)乐观两阶段提交移动事务处理模型(O2P

41、C-MT)该模型是我国学者提出的在移动事务处理模型研究上比较有代表性的成果。该模型采用乐观并发控制与两阶段提交协议相结合的方法,对移动事务的长事务特性提供了灵活与有效的支持。此外,该模型允许移动计算机分多次发送事务操作,且在事务执行的过程中可以任意移动,从而提供了对交互式事务及随意移动性的支持。,7.3 移动Agent技术,作为移动数据库技术的一个重要方面的移动计算特别是移动Agent技术近年来也蓬勃地发展起来。移动Agent 具有自主性、主动性、反应性、移动性和社会性等优良特点,使得它成为分布式人工智能技术的一个研究的热点。,7.3.1 Agent与移动Agent,1.什么是Agent及其特

42、性Agent概念起源于20 世纪70 年代对分布式人工智能(DAI)的研究,对Agent和MultiAgent的研究近几年来已成为分布式人工智能研究的一个热点。具有一定智能并能自主运行和提供相应服务的程序。Agent代表独立的、交互式的、相互协作的对象实体,主要功能在于多个Agent之间的相互通讯和协作,以完成分布式问题求解(DPS)。Agent是具有拟人智能特性的、驻留与活动于客观世界中的实体。智能Agent置身于某种环境之中,通过传感器感知环境,通过效应器作用于环境,如图3所示。,Agent是代表用户或其它程序,以主动服务的方式完成一组操作的机动计算实体。,图3 Agent示意图,Agen

43、t具有如下特性:a)自治性或者独立性。Agent可以在没有人或其它Agent直接干预的情况下运作,而且对自己的行为和内部状态有某种控制能力;b)社会性。Agent之间可以通过某种Agent语言进行交流。Agent之间可以相互通讯与协作;c)反应性。Agent能够理解周围的环境,并能对环境的变化做出相应的反映;d)能动性。Agent不仅简单地对其环境作出反应,也能够通过接受某些启动信息,表现出有目标的行为;,2.移动Agent及其相关特性,移动Agent的本质属性在于移动性,即是利用网络技术,Agent可在网络中移动到达所要求的结点执行设定功能。移动Agent能够根据网络环境,寻找目的主机,可以

44、在授权的任意结点停留执行,将自身传送到一台新主机上,并且在新主机上执行移动Agent还可以同其它同源Agent或服务资源进行交互,任务完成后再将结果同自身传送回源结点。正是这种移动性使得移动Agent在Agent范畴内成为一个相对独立的研究领域,并且这种移动是有目的的和自主的。因此,移动Agent技术在智能信息获取、电子商务、工业过程控制等方面有着广阔的应用前景。,它具有以下特性:节省网络带宽。移动Agent的通信方式是基于RP(Remote Programming),与传统的以RPC(Remote Procedure Calling)为基础的网络架构而言,网络上传输的不再是简单的请求/响应,

45、而是Agent的代码和状态。移动Agent在早期分布式编程技术的基础之上,增加了程序状态和数据的传输功能,从而实现了Agent在目的主机上包括代码和环境的重建,增加了与主机交互的灵活性和可靠性。在典型的C/S模型中,服务器与客户端需要通过网络传输大量的数据,而移动Agent则可以更加灵活地直接在数据源本地机上进行数据挖掘等工作,从而减轻了网络传输的负担。,强自主性。移动Agent能够能监控网络连接状态,可以根据情况和已有的数据资料,决定何时何地到特定的网络结点上去完成所需的工作;也能够适应运行环境和网络状态的变化,比如在网络阻塞或断线时重新选择路由。支持断接操作与异步工作方式。用户将需要执行的

46、应用代码打包在移动Agent中,然后传输到远程主机上,传递完成后,用户可以断开网络。Agent会在到达目的主机后自主完成工作,等待与用户再次建立通讯联系后传回结果。这种被称为store and forward的机制已集成在移动Agent系统的框架结构中。,7.3.2 开发移动Agent系统需要注意的问题,1.移动Agent的自主移动要实现移动Agent的移动,不但要求代码、数据以及包括运行堆栈在内的运行状态的移动,而且还要求能在目标主机上完全恢复这些代码和状态,以便继续运行。而自主移动则要求移动Agent能监控网络连接状态,在连接出现异常时转入休眠状态,直到连接恢复后再移动到下一个主机。在仅提

47、供给移动Agent服务要求而不指定主机地址的情况下,自主移动还包括移动Agent能够自主决定待访问主机的路由列表。,2.移动Agent系统的通信模型在复杂、异构的网络环境下,一个移动Agent系统在实现分布式问题求解和负载平衡等任务时,客观上要求多个Agents(既有Stationary Agent,又可有Mobile Agents)相互协作共同完成,而多个Agents 的协作依赖于完善的通信模型提供底层支持。在一个移动Agent系统中,Agents之间以及Agents与运行环境之间的消息传递和同步处理是建立通信模型的核心要求,同时也是进一步实现Agents知识层通信的基础。对于知识层上的通信

48、,由于其实现的复杂性和效率等方面的原因,目前大多数移动Agent系统尚未给予充分考虑。知识层通信的基础是KQML(Knowledge Query and Manipulation Language)和FIPA(Foundation for Intelligent Physical Agents)的ACL(Agent Communication Language)。,3.对移动Agent的管理和控制对移动Agent的管理和控制既包括在一个移动Agent系统内部Agent运行环境对所有移动Agent进行监控协调,也包括不同移动Agent系统之间的各移动Agent的互操作。在一个移动Agent系统中

49、,运行环境根据使用者的要求来决定一个移动Agent的生命周期,收集移动Agent目前所处的位置(location),状态(state)等信息,并把这些信息返回给使用者。对目前已推出的各种移动Agent系统,如何实现它们的互操作是移动Agent技术得以推广使用之前另一个值得考虑的问题。对不同移动Agent系统之间的互操作,OMG制订了一些标准。,4.移动Agent系统的安全性在移动Agent系统中,安全性主要包括以下三个方面。a)保护主机免受移动Agent的滥用或破坏。主机对所接收的移动Agent,应能够对其进行身份认证,也就是确定移动Agent的属主,主机根据预先建立的安全信任度对来自不同属主

50、的移动Agent开放不同的资源使用权限。,b)保护移动Agent免受其它Agents的攻击。在一定程度上,该问题可以看作是保护主机免受移动Agent滥用和破坏的子问题,因为如果移动Agent不能使用主机资源,如通信机制的话,Agents之间的交互将不可能进行。,c)保护移动Agent免遭主机的破坏。当移动Agent在某一主机上运行时,由于完全依赖了主机所提供的运行环境,这就给主机窃取移动Agent中的敏感信息和篡改移动Agent的代码提供了机会。对前者,可以通过信息加密的方式在一定程度上加以防范。对后者,主机可能对移动Agent造成的破坏多种多样,且对移动Agent的属主来说又不可预见,比如恶

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号