一种嵌入式移动数据库乐观事务处理策略
2013-01-06刘智博
刘智博
(中航工业空空导弹研究院,河南洛阳 471009)
一种嵌入式移动数据库乐观事务处理策略
刘智博
(中航工业空空导弹研究院,河南洛阳 471009)
在嵌入式移动数据库系统中,计算平台的移动性、频繁的断接性以及长事务等特性,使得传统的事务处理模式不再适用。为了解决嵌入式移动数据库中的事务处理问题,提出了一种新的移动事务处理模型——改进的乐观两阶段提交移动事务模型(IO2PC-MT),该模型吸纳了O2PC-MT模型的设计思想,采用乐观并发控制和两阶段提交的策略实现数据的一致性。模拟实验结果表明,IO2PC-MT提高了资源的利用率和系统的整体性能,为嵌入式移动数据库移动事务处理提供了一种切实可行的解决方案。
嵌入式移动数据库;移动事务;移动事务处理模型;IO2PC-MT模型
计算技术和无线通讯技术的发展与结合使得一种全新的计算模式——移动计算模式[1]成为了现实,在移动计算模式下,用户使用移动终端机并通过无线通信接口实现对信息网络的访问,而不受实际物理位置变化的影响。然而由于移动计算环境的特殊性,使得在设计嵌入式移动数据库系统时需要考虑诸多传统计算环境下不需要考虑的问题,如:终端机的移动性、频繁断接性、弱连接性,过区切换等问题[2]。因此如何使服务器能够完善地处理好移动事务,成为嵌入式移动数据库技术中一个非常重要的研究课题。
在移动事务处理方面,人们已经提出了许多模型[3]。在分析了现有的几种典型的移动事务处理模型特点的基础上,综合各种移动事务处理技术的优点,为了更好地满足移动用户的需求,本文设计了一种改进的乐观两阶段提交移动事务处理模型——IO2PC-MT(Improved O2PC-MT)模型。最后,通过模拟实验对IO2PC-MT模型和O2PCMT模型的性能进行比较分析,并给出相关结论。
1 移动事务处理系统的结构
在移动计算环境下,移动事务处理系统的结构[4]如图1所示。在该结构中,固定网络上连接着不带无线通信接口的固定主机(FH)、位置服务器(LS)和移动控制中心(MCC)3类主机,其中每个MCC和FH上均连接着一个数据库服务器,并管理相应的数据库。位置服务器(LS)负责对MC的当前位置及状态进行管理和跟踪。FH和MCC上的各个数据库服务器共同构成一个分布式数据库系统。
图1 移动事务处理系统的结构
2 改进的O2PC-MT移动事务处理模型
IO2PC-MT模型是对O2PC-MT模型的改进,该模型吸纳了O2PC-MT模型的设计思想[5],以事务队列机制来支持事务的移动性,采用乐观并发控制和两阶段提交的策略[6]实现数据的一致性,同时考虑到网络的不稳定性和频繁断接性,为了充分利用移动终端机的资源和提高事务的可操作性,允许移动终端机对本地缓存中的数据库副本进行操作,这使得移动终端机在断接情况下仍然可以访问数据库,从而缩短了事务的平均等待时间。
IO2PC-MT移动事务处理模型如图2所示。为了提供对移动事务分裂的支持,并为移动用户提供一个透明的访问接口,在IO2PC-MT模型中引入了移动事务参与者节点(MTMP)、移动事务协调者节点(MTMC)、本地事务管理器(LTM)和移动终端机事务处理器(MCTP)等概念。其中MTMP和MTMC位于MSS上,而MCTP位于MC上。MCTP实现对移动事务的分裂,将移动事务分裂为在固定网络中执行的部分SMT以及在移动终端机上执行的部分LTM。每个无线网络单元中均有一个MTMP用来处理本单元内移动主机的事务请求。
图2 IO2PC-MT移动事务处理模型
MC负责执行应用程序的各种计算,因为移动计算环境下网络连接的可靠性较差,MC会经常频繁地与MTMC发生断接。为了在断接情况下移动终端机仍然可以进行数据读写操作,利用移动数据复制与缓存技术在移动终端机上保存部分数据,通常将这些数据称之为移动子集,这些移动子集构成一个嵌入式移动数据库(Embedded Mobile Database,EMDB)。通常称EMDB上的数据对象为该数据对象的暂态版本,该数据对象在主数据库中的版本称作其基版本。若在EMDB上有移动事务所需数据对象的暂态版本,MC将使用这个暂态版本来进行操作,随后到MTMC上进行校验,对移动事务进行提交。
MSS管理整个系统的数据空间的一个子集,并且与中央数据库相连,负责收集MC发送的数据读写请求,同时把任务分解为多个子事务发送到相应节点来执行,并负责事务的并发控制、提交以及系统日志的维护。
MC上的MCTP接收应用程序的指令,并获取计算所需的数据项列表。若网络连接情况良好,则将数据请求发送给MSS。若在网络断接的情况下,就将数据请求发送给本地EMDB,从而获取计算处理所需的相关数据。计算、修改数据项的中间结果均保存在本地EMDB中。当计算结束时,MCTP将应用程序对数据的读写操作组成事务队列,然后发送到MTMC上进行校验,同时将返回的校验结果发送给LTM。
3 IO2PC-MT模型事务处理
MC上的各种应用程序的读写操作被组织成移动事务,由MC上的MCTP进行计算处理。为提交已经执行完毕的移动事务,MC上的MCTP将准备全局提交的事务发给MSS,系统根据合适的移动策略选择一个MSS作为MTMC,然后根据该移动事务的读写数据结果集合,在所涉及到的MTMP上进行两阶段提交,MTMC根据返回的提交结果,通知MC上的应用程序来判断该事务是否能够成功提交。对于成功提交的事务,将保证它对数据库的更新持久化。
IO2PC-MT模型将整个移动事务的执行过程分为3个阶段:
a.本地计算。执行过程主要发生在MC上,MC负责读取所需数据项,然后在本地计算,并对数据进行修改,再将数据存放在本地缓存数据库中。
b.冲突校验。执行过程主要发生在固定网络上的各个MSS上,主要是对移动事务进行冲突检测,判断是否可以在本地通过可串行化检测。
c.更新数据。对于通过冲突校验阶段的事务进行数据项的更新持久化,并将处理信息回馈给MC,同时对MC缓存数据库的数据进行更新。
4 性能分析
4.1 实验说明
为了分析与比较IO2PC-MT模型和O2PCMT模型在移动计算环境下的性能,本文以嵌入式移动数据库系统King Base Lite为基础,通过模拟实验的方法进行了详细实验,模拟实验程序通过Visual C++6.0实现,整个实验系统的主要参数见表1。
表1 模拟实验中的主要参数
4.2 实验结果分析
通过模拟实验可选择移动事务日志数据量,以及事务平均等待时间两项主要指标,来对IO2PCMT模型和O2PC-MT模型的性能进行比较分析。事务日志数据量比较如图3所示,事务平均等待时间比较如图4所示。
图3 事务日志数据量比较图
图4 事务平均等待时间比较图
由图3、图4可以看出,从总体上讲,随着断接时间的增加,相比于O2PC-MT模型,IO2PC-MT模型的日志数据量大大减少,并且事务平均等待时间也大大缩短,所以IO2PC-MT模型能够提供较好的总体性能。
5 结束语
本文基于O2PC-MT模型设计了一种改进的乐观两阶段提交移动事务处理模型(IO2PCMT)。该模型提供了对移动事务的长事务特性的有效与灵活的支持。此外,该模型还提供了对交互式事务及随意移动性的支持。实验结果表明,与O2PC-MT模型相比,IO2PC-MT模型有效地减小了移动终端机的存储空间,大大缩短了事务平均等待时间,提高了资源利用效率和系统效率,为移动事务处理提供了一种切实可行的解决方案。但研究中仍存在着一些不足,例如事务撤销率偏高,如何保持较低的事务撤销率,还需要更进一步的研究。
[1]孟小峰,丁治明.移动数据管理概念与技术[M].北京:清华大学出版社,2000:21-30.
[2]Barbara D.Mobile computing and databases——a survey[J].IEEE Trans on Knowledge and Data Engineering,1999,11(1):108-117.
[3]丁治明,孟小峰,王珊.移动数据库系统乐观事务处理策略[J].计算机研究与发展,2002,39(10):1380 -1387.
[4]刘铁铭,张有为.嵌入式移动数据库应用研究[J].计算机学报,2006,22(2):88 -90.
[5]杨进才,刘云生.移动事务的数据收集与存储[J].计算机工程与应用,2004(8):25 -27.
[6]王珊,丁治明,张孝.移动数据库及应用[J].计算机应用,2000,20(9):1 -8.
A Optimistic Transaction Processing In Embedded Mobile Database
LIU Zhibo
(AVIC Airborne Missile Academy,Henan Luoyang,471009,China)
In embedded mobile database systems,new features such as mobility,disconnection and long-lived transactions make traditional transaction processing schemes no longer suited.To solve this problem,it proposes a new mobile transaction model(IO2PC-MT)based on O2PC-MT.The model incorporates the design idea of the O2PC -MT model,adopts the strategy of optimistic concurrency control and the two-stage committing to achieve the consistency of data.The simulation experiment results show that the IO2PC-MT model improves resource utilization and the whole performance of system,this model provides a good solution for the mobile transaction processing technology of embedded mobile database.
Embedded Mobile Database;Mobile Transaction;Mobile Transaction Processing Model;IO2PCMT Model
TP311
A
2095-509X(2013)05-0032-03
10.3969/j.issn.2095 -509X.2013.05.008
2012-12-25
刘智博(1983—),男,河南洛阳人,中航工业空空导弹研究院助理工程师,主要从事生产管理信息化方面的研究工作。