移动事务处理模型中过区切换的策略研究

时间:2022-08-11 07:50:17

移动事务处理模型中过区切换的策略研究

摘要:移动事务处理系统中,计算平台的移动性、频繁的断接性以及长事务等特性使得过区切换的处理显得非常重要,比如在移动事务执行过程中,移动计算机位置的改变会带来复杂的过区切换问题。使用过区切换处理带来的好处:一是移动事务可以在移动主机的移动过程中完成;二是降低了事务的响应时间;三是过区切换有利于安全管理。文章以乐观两阶段移动事务处理模型为基础,着重对过区切换问题进行分析与说明,以此来讨论移动事务过区切换的基本处理策略。

关键词:移动性;断接性;长事务;移动事务;过区切换;乐观两阶段

0 引言

在移动数据库中,固定主机和移动计算机均能发起事务,其中移动计算机发起的事务称为移动事务。由于有限的通信带宽以及频繁断接操作的影响,移动事务通常属于长事务;在移动事务执行的过程中,移动计算机位置的改变会带来复杂的过区切换问题。

1 概念

当移动主机从―个无线网络单元移动到另―个无线网络单元时,需要向当前所在地的MSS登记并连接,同时断开与上一个MSS的连接;此后,移动主机将通过当前所在地的MSS连接到固定网络中。我们把这个过程叫做过区切换。当发生过区切换时,移动主机的某个移动事务可能还没有完成,因此需要将剩余的事务操作交给当前所在地MSS上的协调器控制执行;事务的状态信息必须从上―个MSS传递到目前的MSS上,然后才开始执行剩下的事务操作。这实际上就是事务的过区切换过程。

2 移动事务过区切换的基本处理策略

通常在每个移动基站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联系,取得事务Tran-A运行情况的上下文,然后再由MSS-BC来负责完成事务余下的操作。

协调器维护的事务上下文的内容取决于移动事务管理的策略,过少的内容将使协调器难以监控事务的执行,过多的开销又会增加协调服务器的开销,并加重协调服务器之间通信的开销,从而影响系统的性能。

本文在乐观两阶段提交移动事务模型的基础上,分析过区切换的处理。

3 系统模型结构

如图1所示,设有3个分别隶属于不同部门(如银行、旅行社、航空公司)的数据库服务器,通过固定网络连成一个分布式数据库系统。固定网络上分布着一些移动控制中心(MCC),每个MCC管辖着一组移动基站(BS),覆盖一定的地理区域并与其中的移动计算机(MC)进行通信。MCC具有分布式事务管理的功能,是分布式数据库的一部分,同时它也可以管理实际的数据(如服务器X)。现假设移动用户正处于无线网络单元的位置并沿着通往无线网络单元c的道路行进,在行进的过程中U提交了如下事务操作:

Begin Transaction

Read(x):∥在无线网络单元A提交,在服务器x执行;

Read(y):∥在无线网络单元B提交,在服务器y执行;

Write(z)://在无线网络单元C提交,在服务器z执行:

Commit

上述例子代表了一类典型的移动数据库应用,一般地,我们可以有如图2所示的移动数据库系统结构。在该结构中,固定网络上有3类主机,即固定主机(FH)、移动控制中心(MCC)和位置服务器(LS)。其中每个FH和MCC上都有一个数据库服务器并管理相应的数据库;LS负责管理并跟踪每个MC的当前位置及状态,它不带无线通信接口和数据库服务器。

4 乐观两阶段提交移动事务模型(02PC-MT)上过区切换的实现

02PC-MT移动事务处理模型如图3所示。

在02PC-MT模型中,MC发送给MCC的移动事务由一系列依次从O到N进行编号的读写操作组成,这些操作以Begin-MT(MTID,TMODE)开始,以Commit或Abort结束。其中MTID是MC在启动移动事务时赋予它的事务标识(为了简化说明,假设任一时刻MC只执行一个事务,这样可以直接取移动计算机的标识MCID作为MTID);TMODE是移动事务的发送方式。

MC可以有两种发送移动事务的方式:①一次性将整个事务发送给MCC,该方式适用于非交互性事务;②整个事务分为多次发送,每次只发送事务的若干个连续的操作,这种方式适用于交互性事务(我们称用户连续发送的一组事务操作所构成的序列为逻辑操作序列,记为LOPS)。

不管采用上述何种发送方式,移动事务的接收都可能涉及到多个MCC。这是因为在发送事务操作的过程中,MC可能会发生过区切换(即跨越不同MCC的覆盖范围)。由于MC总是将事务操作发送给当前所处无线网络单元的MCC,因此一个LOPS在发生过区切换时就被分割成两个或更多个由连续操作所构成的序列,并被不同的MCC所接收(我们称每个MCC所接收到的操作序列为物理操作序列,记为POPS)。

4.1 MCC对POPS的接收与转发

MCC收到POPS之后,将依不同的情况作相应的处理:①如果POPS以Begin-MT(MCID,TMODE)开始,则表明这是一个新的移动事务,此时MCC就成为该移动事务的协调者结点(MTMC)。MCC首先将MCID存入事务队列,并将POPS中的操作存入事务操作队列,然后向所有其它的MCC发送广播消息,其中带有MCID与其网络地址的对应关系。其它MCC收到该广播消息之后,将相应的信息存入路由表。②如果MCC收到的POPS中不含Begin--MT语句,则它只起一个接收/转发的作用,即根据路由表及移动计算机标识将收到的POPS转发给相应的MTMC。

4.2过区切换时的事务处理

在过区切换发生时,一个完整的事务就会被分割,出现用第2种方式发送的事务情况。MTMC在收到移动事务的第1个POPS之后即启动该移动事务的执行。对于移动事务MT,其整个执行过程包括两个阶段:乐观执行阶段和两段提交阶段。这两个阶段相对独立,从数据库并发控制底层的角度可以将它们视为两个彼此联系又相互独立的事务,分别记为乐观事务OT和基事务BT。

在乐观执行阶段,MTMC在监控移动事务执行的同时接收该移动事务的后续POPS。如果新收到的POPS中含有Abort。则MTMC立即通知所有MTMP释放相应的资源,并终止事务的执行;否则,新的POPS将被存入事务操作队列中的相应位置。由于移动事务的各个操作被赋以连续的编号,因此MTMC可以将收到的事务操作恢复为原来的顺序。根据全局字典,各事务操作按照编号顺序被逐条发往相应的MTMP按乐观方式执行。如果事务的下一条操作或下一条操作所需要的数据还没有被MTMC收到,则该事务将转入休眠状态,直到条件重新满足为止。当MTMC执行到Commit语句时,如果所有的前续操作均已按乐观方式执行完毕,则该移动事务将进入两段提交阶段。两段提交过程结束后,MTMC将最终结果传送给MC,同时通知所有的MCC释放路由表中的相应记录,至此整个事务执行结束。

由上述分析可知,乐观两阶段提交移动事务模型(02PC-MT)采用乐观并发控制与两阶段提交协议相结合的方法,对移动事务的长事务特性提供了灵活与有效的支持;此外,该模型允许移动计算机分多次发送事务操作,且在事务执行的过程中可以任意移动,从而提供了对交互式事务及随意移动性的支持。

5 结束语

过区切换处理带来的好处是:第一,移动事务可以在移动主机的移动过程中完成,因为移动事务可以在MSS之间迁移,移动用户不必在启动一个事务后固定在某个无线网络单元内等待事务执行,才能移动到下一个移动单元内;第二,降低了事务的响应时间,移动主机的移动可能极大地加大了移动主机到原MSS的物理距离,用户从原MSS获取数据的通讯延迟将急剧加大,过区切换可以均衡移动支持节点问的负载;最后,过区切换有利于安全管理,MSS只允许接收本地无线网络单元内客户机发送的事务操作请求,因而可以避免伪冒权限的安全问题。

上一篇:WebGIS技术在数字城市档案建设中的应用 下一篇:基于LDAP的面向对象目录访问模型及其实现