移动数据库事务处理模型的研究

2014-08-04 02:38罗军李文生王宏
计算机工程与应用 2014年22期
关键词:事务备份消息

罗军,李文生,王宏

重庆大学计算机学院,重庆 400044

移动数据库事务处理模型的研究

罗军,李文生,王宏

重庆大学计算机学院,重庆 400044

1 引言

随着计算机网络和通信技术的飞速发展,移动计算作为一种崭新的计算模式应运而生。由于移动计算环境的特殊性,使得传统数据库中的各种事务处理模型不能有效地支持这种特殊的环境[1-2]。因此移动事务处理模型成为移动数据库系统的研究热点。

L.H.Yeo等人提出的MDSTPM事务处理模型[3]需要移动主机一次性地将事务的所有操作发送给移动事务协调器,不能提供对交互式移动事务的支持。Jin Jing等人提出的O2PL-MT模型[4]提供了一种更为灵活的移动事务发送方式,但其主要缺点是移动主机在操作序列返回结果之前不能离开当前网络,并且由于采用两阶段封锁,数据可能长时间被封锁,降低了服务器事务处理的并发性[5]。我国学者丁治明等人提出的O2PC-MT模型[6]解决了强一致性事务的需求,它对于数据更新率适中或者偏低,长事务特性突出的移动计算环境,能提供较好的性能[7],但其不足之处是没有考虑到移动客户端(MC)带有可进行部分事务处理的缓存特性,而将全部事务转交给移动支持站点(MSS)来处理,降低了系统使用效率,导致网络处于断接情况时事务无法进行。并且由于采用传统的2PC协议,当遇到暂时的通信失效会导致事务不必要的中止以及当移动事务协调器节点发生故障时会导致阻断,大大降低了系统的性能。

鉴于以上分析,本文提出了一种改进的乐观两阶段提交移动事务处理模型(extended Optimistic two Phase Commit Mobile Transaction,EO2PC-MT)。它吸收了O2PC-MT模型的设计思想,采用乐观并发控制和两阶段提交相结合的方法,针对移动计算环境的特殊性完善了两阶段提交算法:在通信繁忙或网络不稳定时,通过在事务第一次等待超时发出中止决策之前再给决策者一次等待节点回应的机会以避免一些由于通信暂时失效造成不必要的事务中止;为移动事务处理协调器节点增加一个备份节点以防止协调器节点出错造成事务无法完成。同时它考虑到网络的不稳定性和频繁断接性,区分强一致性事务和弱一致性事务的处理方式,将弱一致性事务放在移动主机上处理。

2 EO2PC-MT系统结构

如图1所示,在EO2PC-MT模型中,引入了移动事务协调者(MTC)、移动事务参与者(MTP)、移动主机事务处理器(MHTP)、本地事务管理器(LTM)等概念[8-10]。其中MHTP在移动主机上,实现移动事务的分裂,将移动事务分裂成移动主机上执行的部分和固定网络上执行的部分。MTC和MTP在MSS中,对任一移动主机提交的移动事务来说,其所在的无线区域对应的基站点为该事务的协调者节点,所有参与该移动事务执行的其他基站点为参与者节点[11]。

图1 EO2PC-MT移动事务处理模型

MC上的移动事务处理器接收应用程序的命令,获得计算需要的数据项列表,如果网络连接情况良好,则将数据请求发送给MSS,如果出现网络断接,则将数据请求发送给本地EMDB,从而获取计算处理所需的数据项。修改数据项的暂时结果都将保存在本地EMDB中。在计算结束时,MC的事务处理器将应用程序对数据的读写操作组织成事务,形成队列,发送到MTC上进行校验,返回校验结果给本地的事务处理器。

3 EO2PC-MT移动事务处理模型

在实际需求中,需要考虑网络的不稳定性和频繁断接性以及移动终端本身的处理能力,可以将部分事务放在移动主机上本地处理。所以针对实际需求我们将事务处理分为强一致性和弱一致性两种模式,强一致性模式是基于整个移动数据库分布式体系的网络保持畅通的情况,移动客户机不保存数据副本,直接访问固定网络上的数据库服务器,提供对交互式事务的支持。弱一致性模式是基于移动客户端的自治性,即移动客户端缓存相关数据,事务的计算全部在本地完成,它提供了对断接性、自治性的支持。

将根据不同的模式对移动事务做不同的处理。如果是强一致性事务,可采用O2PC-MT模型介绍的方法进行处理。下面将主要讨论弱一致性事务的处理方式。

3.1 MHTP对弱一致性事务的处理

MC发出移动事务处理请求后,MTP首先检查MC与MSS的网络连接状况,根据以下三种情况分别处理:

(1)若MC与MSS处于连接状态,且本地EMDBS能满足移动事务要求,则移动事务将在本地执行。

(2)若MC与MSS处于连接状态,但本地EMDBS不能满足该移动事务要求,则从MSS上读取最新数据,更新本地EMDB,并将数据库中该数据的最后修改时间戳作为移动事务读取该数据的时间戳,然后在本地执行移动事务。

(3)若MC与MSS处于断接状态,则只能由本地EMDBS进行本地处理。如果缺少所需的数据,移动事务进入事务等待队列,并置定时器。重新连接MSS后,读取所需数据,在接收到所需数据后,在本地执行该事务。如果等待超时,就需要撤销该移动事务。

事务只有在本地执行成功后,才能进入事务输出队列,并最终提交到MTC和MTP上进行全局校验和提交。

3.2 MTC对移动事务的两阶段提交

在MTC对移动事务的两阶段提交之前,MTP要先对移动事务进行乐观执行,但是它不是本文研究的重点,其处理方式可参考O2PC-MT模型介绍的方法。

EO2PC-MT两阶段提交算法的第一阶段为验证阶段,在网络不稳定或通信繁忙时,O2PC-MT模型采用的提交协议如果遇到暂时的通信失效会导致事务不必要的中止。因此针对这种情况通过在事务第一次等待超时发出中止决策之前再给决策者一次等待节点回应的机会,以避免由于暂时失效或通信延迟导致的执行事务不成功问题。

首先向所有的MTP发送一轮Prepare消息,置定时器,等待参与节点的回应消息。如果在第一个定时时间内仍未收到全部节点的回应消息,则再次向未收到回应消息的节点发送消息,并置第二个定时器,如果再次超时后没有收到全部节点的回应消息,则忽略未回应消息的节点,进入第二阶段。

EO2PC-MT两阶段提交算法的第二阶段为全局提交阶段,传统两阶段提交的工作流程如图2(左子图为协调者,右子图为参与者)所示[12]。

图2 两阶段提交工作流程图

状态:I为初始化,W为等待,A为阻塞,C为提交。消息:PM是准备,RM为就绪,CM为提交,AA为阻塞应答,AC为阻塞命令。事件:UA单方面阻塞,TM是超时。

显然,从协议的工作过程可以得知,两阶段提交协议是阻塞式的,各MTP在向MTC发送“就绪”消息之前都是可以自行“阻塞”的,即对本节点上的事务处理具有一定的自决定权,但它一旦发出“就绪”消息,这种自决定权就放弃了,只能等待MTC的消息来执行之后的动作,如果等待不来MTC的消息,则将一直占用本节点的资源。因此影响两阶段提交协议的主要原因在于MTP放弃自决定权后引起的阻塞问题。

O2PC-MT模型采用的提交协议正是传统的两阶段提交协议,因此当移动事务协调器的节点发生故障时会导致阻断,为了防止移动事务协调器故障造成事务无法完成,将为移动事务协调者提供额外一个节点作为它的备份协调者,备份协调者在移动事务协调者出现故障的情况下执行协调者的职能,完成事务处理。具体算法如下:所有MTP将事务处理结果发送给备份协调者,备份协调者再将消息发送给MTC。虽然看起来消息的通信量比没有备份协调者多了一倍,但是当MTC收到MTP后发生故障的情况下,备份协调者会根据系统设定的超时机制,判断协调者是否发生故障,若是则备份协调者将代为执行MTC的功能。此时,备份协调者首先发送一条命令给MTC表示要执行MTC的职能,当MTC在后面的时间里恢复它应先处理来自备份协调者的这条命令,如果收到此命令,即使MTC恢复也将不做任何事。备份协调者根据所有MTP的应答消息做出决定,如果存在一条消息含有ABORT,则发送GLOBAL-ABORT广播,否则发送GLOBAL-COMMIT广播。当事务结束后,备份协调者要发送一条命令给MTC表示事务结束,此时备份协调者代为执行MTC的职能也到此结束。但是当备份协调者发送表示代为执行MTC职能的命令后自己发生故障,系统会根据设定的超时机制认为备份协调者已经发生故障,此时MTC将重新执行MTC的职能。首先发送一条命令给备份协调者表示重新执行MTC的职能。

4 性能分析

为了分析比较本文提出的模型(EO2PC-MT)与其他移动事务模型在移动计算环境下的性能,选用了O2PC-MT作为参考模型,仿真模拟测评的整个过程需要用到的参数如表1所示。测试的主要参数包括移动事务撤销率和事务吞吐率。其中移动事务撤销率[13]、事务吞吐率[14]与STC[15](Server Transaction Concurrency)之间的关系分别如图3、4所示。

表1 模拟试验中的主要参数

图3 移动事务撤销率对比

图4 移动事务吞吐率对比

图3和图4显示了移动事务在不同的模型下对事务撤销率和吞吐率的影响。由图3可以看出,随着STC的增加,EO2PC-MT比O2PC-MT的事务撤销率减少得更明显,因为EO2PC-MT利用二次等待,使得在通信繁忙或网络不稳定情况下,避免了由于通信延迟或暂时失效导致的事务不必要终止。事务吞吐率比O2PC-MT稍优,一方面是EO2PC-MT充分考虑了移动主机的本身处理能力,将部分事务移动到移动主机本地处理,使得系统在断接的情况下依然能够执行事务;另一方面是它为移动事务协调器增加额外的节点作为备份协调器,一定程度上解决了O2PC-MT中单点协调器所产生的性能瓶颈。但它的主要缺点是消息通信量明显增加,因此系统整体性能提高较少,但是明显增强了其健壮性。

5 结束语

本文研究了移动计算环境下的移动事务处理模型,阐述并分析了O2PC-MT模型存在的问题,提出了一种改进的乐观两阶段提交事务处理模型(EO2PC-MT)。它既支持弱一致性移动事务的处理,也避免了移动事务参与者(MTP)的暂时通信失效或者网络延迟导致的事务中止,同时还解决了单点协调器所产生的性能瓶颈、增强了系统的健壮性。

[1]徐彩云,邵雄凯,康瑞华.移动事务并发控制技术的研究[J].计算机工程与设计,2010,31(20):4396-4399.

[2]Ravimaran S,Maluk M A.An improved kangaroo transaction model using surrogate objects for distributed mobile system[C]//Proceedingsofthe10th ACMInternational Workshop on Data Engineering for Wireless and Mobile Access,New York:ACM,2011:42-49.

[3]Yeo L H,Zaslavsky A.Submission of transactions from mobile workstations in a cooperative multi database processingenvironment[C]//The14thInternationalConference on Distributed Computing Systems.Poznan:IEEE,1994:372-379.

[4]Jing J,Bukhres O,Elmagarmid O.Distributed lock management for mobile transactions[C]//The 15th International Conference on Distributed Computing Systems.Vancouver:IEEE,1995:118-125.

[5]Abawajy J H,Mat D M,Omar M.A novel data replication and management protocol for mobile computing systems[J]. Mobile Information Systems,2006,2(1):3-19.

[6]丁治明,孟小峰,王珊.移动数据库系统乐观事务处理策略[J].计算机研究与发展,2002,39(10):1379-1386.

[7]宋静,刘心松,赖周建,等.一种改进的2PC协议及其性能[J].微计算机信息,2006,22(4):232-234.

[8]涂振翰.移动数据库事务处理一致性的研究[D].长沙:湖南大学,2009.

[9]Lee V,Lam K W,Kuo T W.Efficient validation of mobile transactions in wireless environments[J].Journal of Systems and Software,2004,69(1):183-193.

[10]Gruenwald L,Shankar M B,Chuo N L.Managing realtime database transactions in mobile ad-hoc networks[J]. Distributed and Parallel Database,2007,22(1):27-54.

[11]Roselin S D,Ravi T N.A survey on data and transactionmanagementinmobiledatabases[J].International Journal of Database Management Systems,2012,4(5):123-126.

[12]张根荣.分布式数据库两阶段提交协议的改进[J].黑龙江科技信息,2008,30(30):78-79.

[13]Li Guohui,Yang Bing,Chen Jixiong.Efficient optimistic concurrencycontrolformobilereal-timetransactions in a wireless data broadcast environment[C]//Proceedings of the 11th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications. Wuhan:IEEE Computer Society,2005:443-446.

[14]Choi H J,Jeong B S.A timestamp-based optimistic concurrencycontrolforhandlingmobiletransactions[J]. ComputationalScienceanditsApplications-ICCSA,2006,3981(26):796-805.

[15]Lam K Y,Kuo T W,Tsang W H,et al.Concurrency control in mobile distributed real-time database systems[J]. Information Systems,2000,25(4):261-286.

LUO Jun,LI Wensheng,WANG Hong

College of Computer Science,Chongqing University,Chongqing 400044,China

In mobile database systems,new features such as mobility,disconnection and long lived transactions make traditional transaction processing schemes no longer suited.An extended optimistic two-phase commit transaction model(EO2PC-MT)is proposed,the model incorporates the design idea of the 02PC-MT model,solves the problem of unnecessary transaction aborts caused by the momentary communication failure and the mobile transaction coordinator failure result in obstruction.The experiment results show that the EO2PC-MT model outperforms the previously proposed mobile transaction models such as O2PC-MT for mobile transaction processing.

mobile database;transaction processing;optimistic concurrency control;two-phase commit

在移动数据库系统中,事务的移动性、频繁断接性以及长事务等特性使得传统的事务处理模式不再适用。提出一种扩展的乐观两阶段提交事务处理模型(O2PC-MT),该模型吸收了O2PC-MT模型的设计思想,解决了由短暂的通信失效造成不必要的事务中止以及移动事务协调器故障导致的阻塞等问题。实验结果表明,与O2PC-MT事务处理模型相比,EO2PC-MT提高了系统的事务吞吐率以及改善了系统的总体性能。

移动数据库;事务处理;乐观并发控制;两阶段提交

A

TP311

10.3778/j.issn.1002-8331.1212-0043

LUO Jun,LI Wensheng,WANG Hong.Research on mobile database transaction processing model.Computer Engineering and Applications,2014,50(22):145-148.

罗军(1961—),男,副教授,硕士研究生导师,主要研究领域:数据库管理系统及数据库应用系统、语义网及知识管理系统;李文生(1986—),男,硕士研究生,主要研究领域为移动计算、数据库;王宏(1987—),男,硕士研究生,主要研究领域为数据库、NoSQl。E-mail:wenshenglee@126.com

2012-12-04

2013-02-05

1002-8331(2014)22-0145-04

CNKI网络优先出版:2013-03-13,http://www.cnki.net/kcms/detail/11.2127.TP.20130313.0950.014.html

猜你喜欢
事务备份消息
“备份”25年:邓清明圆梦
基于分布式事务的门架数据处理系统设计与实现
河湖事务
创建vSphere 备份任务
一张图看5G消息
旧瓶装新酒天宫二号从备份变实验室
消息
消息
消息
出版原图数据库迁移与备份恢复