劉智博
(中航工業(yè)空空導彈研究院,河南洛陽 471009)
一種嵌入式移動數(shù)據(jù)庫樂觀事務處理策略
劉智博
(中航工業(yè)空空導彈研究院,河南洛陽 471009)
在嵌入式移動數(shù)據(jù)庫系統(tǒng)中,計算平臺的移動性、頻繁的斷接性以及長事務等特性,使得傳統(tǒng)的事務處理模式不再適用。為了解決嵌入式移動數(shù)據(jù)庫中的事務處理問題,提出了一種新的移動事務處理模型——改進的樂觀兩階段提交移動事務模型(IO2PC-MT),該模型吸納了O2PC-MT模型的設(shè)計思想,采用樂觀并發(fā)控制和兩階段提交的策略實現(xiàn)數(shù)據(jù)的一致性。模擬實驗結(jié)果表明,IO2PC-MT提高了資源的利用率和系統(tǒng)的整體性能,為嵌入式移動數(shù)據(jù)庫移動事務處理提供了一種切實可行的解決方案。
嵌入式移動數(shù)據(jù)庫;移動事務;移動事務處理模型;IO2PC-MT模型
計算技術(shù)和無線通訊技術(shù)的發(fā)展與結(jié)合使得一種全新的計算模式——移動計算模式[1]成為了現(xiàn)實,在移動計算模式下,用戶使用移動終端機并通過無線通信接口實現(xiàn)對信息網(wǎng)絡的訪問,而不受實際物理位置變化的影響。然而由于移動計算環(huán)境的特殊性,使得在設(shè)計嵌入式移動數(shù)據(jù)庫系統(tǒng)時需要考慮諸多傳統(tǒng)計算環(huán)境下不需要考慮的問題,如:終端機的移動性、頻繁斷接性、弱連接性,過區(qū)切換等問題[2]。因此如何使服務器能夠完善地處理好移動事務,成為嵌入式移動數(shù)據(jù)庫技術(shù)中一個非常重要的研究課題。
在移動事務處理方面,人們已經(jīng)提出了許多模型[3]。在分析了現(xiàn)有的幾種典型的移動事務處理模型特點的基礎(chǔ)上,綜合各種移動事務處理技術(shù)的優(yōu)點,為了更好地滿足移動用戶的需求,本文設(shè)計了一種改進的樂觀兩階段提交移動事務處理模型——IO2PC-MT(Improved O2PC-MT)模型。最后,通過模擬實驗對IO2PC-MT模型和O2PCMT模型的性能進行比較分析,并給出相關(guān)結(jié)論。
在移動計算環(huán)境下,移動事務處理系統(tǒng)的結(jié)構(gòu)[4]如圖1所示。在該結(jié)構(gòu)中,固定網(wǎng)絡上連接著不帶無線通信接口的固定主機(FH)、位置服務器(LS)和移動控制中心(MCC)3類主機,其中每個MCC和FH上均連接著一個數(shù)據(jù)庫服務器,并管理相應的數(shù)據(jù)庫。位置服務器(LS)負責對MC的當前位置及狀態(tài)進行管理和跟蹤。FH和MCC上的各個數(shù)據(jù)庫服務器共同構(gòu)成一個分布式數(shù)據(jù)庫系統(tǒng)。
圖1 移動事務處理系統(tǒng)的結(jié)構(gòu)
IO2PC-MT模型是對O2PC-MT模型的改進,該模型吸納了O2PC-MT模型的設(shè)計思想[5],以事務隊列機制來支持事務的移動性,采用樂觀并發(fā)控制和兩階段提交的策略[6]實現(xiàn)數(shù)據(jù)的一致性,同時考慮到網(wǎng)絡的不穩(wěn)定性和頻繁斷接性,為了充分利用移動終端機的資源和提高事務的可操作性,允許移動終端機對本地緩存中的數(shù)據(jù)庫副本進行操作,這使得移動終端機在斷接情況下仍然可以訪問數(shù)據(jù)庫,從而縮短了事務的平均等待時間。
IO2PC-MT移動事務處理模型如圖2所示。為了提供對移動事務分裂的支持,并為移動用戶提供一個透明的訪問接口,在IO2PC-MT模型中引入了移動事務參與者節(jié)點(MTMP)、移動事務協(xié)調(diào)者節(jié)點(MTMC)、本地事務管理器(LTM)和移動終端機事務處理器(MCTP)等概念。其中MTMP和MTMC位于MSS上,而MCTP位于MC上。MCTP實現(xiàn)對移動事務的分裂,將移動事務分裂為在固定網(wǎng)絡中執(zhí)行的部分SMT以及在移動終端機上執(zhí)行的部分LTM。每個無線網(wǎng)絡單元中均有一個MTMP用來處理本單元內(nèi)移動主機的事務請求。
圖2 IO2PC-MT移動事務處理模型
MC負責執(zhí)行應用程序的各種計算,因為移動計算環(huán)境下網(wǎng)絡連接的可靠性較差,MC會經(jīng)常頻繁地與MTMC發(fā)生斷接。為了在斷接情況下移動終端機仍然可以進行數(shù)據(jù)讀寫操作,利用移動數(shù)據(jù)復制與緩存技術(shù)在移動終端機上保存部分數(shù)據(jù),通常將這些數(shù)據(jù)稱之為移動子集,這些移動子集構(gòu)成一個嵌入式移動數(shù)據(jù)庫(Embedded Mobile Database,EMDB)。通常稱EMDB上的數(shù)據(jù)對象為該數(shù)據(jù)對象的暫態(tài)版本,該數(shù)據(jù)對象在主數(shù)據(jù)庫中的版本稱作其基版本。若在EMDB上有移動事務所需數(shù)據(jù)對象的暫態(tài)版本,MC將使用這個暫態(tài)版本來進行操作,隨后到MTMC上進行校驗,對移動事務進行提交。
MSS管理整個系統(tǒng)的數(shù)據(jù)空間的一個子集,并且與中央數(shù)據(jù)庫相連,負責收集MC發(fā)送的數(shù)據(jù)讀寫請求,同時把任務分解為多個子事務發(fā)送到相應節(jié)點來執(zhí)行,并負責事務的并發(fā)控制、提交以及系統(tǒng)日志的維護。
MC上的MCTP接收應用程序的指令,并獲取計算所需的數(shù)據(jù)項列表。若網(wǎng)絡連接情況良好,則將數(shù)據(jù)請求發(fā)送給MSS。若在網(wǎng)絡斷接的情況下,就將數(shù)據(jù)請求發(fā)送給本地EMDB,從而獲取計算處理所需的相關(guān)數(shù)據(jù)。計算、修改數(shù)據(jù)項的中間結(jié)果均保存在本地EMDB中。當計算結(jié)束時,MCTP將應用程序?qū)?shù)據(jù)的讀寫操作組成事務隊列,然后發(fā)送到MTMC上進行校驗,同時將返回的校驗結(jié)果發(fā)送給LTM。
MC上的各種應用程序的讀寫操作被組織成移動事務,由MC上的MCTP進行計算處理。為提交已經(jīng)執(zhí)行完畢的移動事務,MC上的MCTP將準備全局提交的事務發(fā)給MSS,系統(tǒng)根據(jù)合適的移動策略選擇一個MSS作為MTMC,然后根據(jù)該移動事務的讀寫數(shù)據(jù)結(jié)果集合,在所涉及到的MTMP上進行兩階段提交,MTMC根據(jù)返回的提交結(jié)果,通知MC上的應用程序來判斷該事務是否能夠成功提交。對于成功提交的事務,將保證它對數(shù)據(jù)庫的更新持久化。
IO2PC-MT模型將整個移動事務的執(zhí)行過程分為3個階段:
a.本地計算。執(zhí)行過程主要發(fā)生在MC上,MC負責讀取所需數(shù)據(jù)項,然后在本地計算,并對數(shù)據(jù)進行修改,再將數(shù)據(jù)存放在本地緩存數(shù)據(jù)庫中。
b.沖突校驗。執(zhí)行過程主要發(fā)生在固定網(wǎng)絡上的各個MSS上,主要是對移動事務進行沖突檢測,判斷是否可以在本地通過可串行化檢測。
c.更新數(shù)據(jù)。對于通過沖突校驗階段的事務進行數(shù)據(jù)項的更新持久化,并將處理信息回饋給MC,同時對MC緩存數(shù)據(jù)庫的數(shù)據(jù)進行更新。
為了分析與比較IO2PC-MT模型和O2PCMT模型在移動計算環(huán)境下的性能,本文以嵌入式移動數(shù)據(jù)庫系統(tǒng)King Base Lite為基礎(chǔ),通過模擬實驗的方法進行了詳細實驗,模擬實驗程序通過Visual C++6.0實現(xiàn),整個實驗系統(tǒng)的主要參數(shù)見表1。
表1 模擬實驗中的主要參數(shù)
通過模擬實驗可選擇移動事務日志數(shù)據(jù)量,以及事務平均等待時間兩項主要指標,來對IO2PCMT模型和O2PC-MT模型的性能進行比較分析。事務日志數(shù)據(jù)量比較如圖3所示,事務平均等待時間比較如圖4所示。
圖3 事務日志數(shù)據(jù)量比較圖
圖4 事務平均等待時間比較圖
由圖3、圖4可以看出,從總體上講,隨著斷接時間的增加,相比于O2PC-MT模型,IO2PC-MT模型的日志數(shù)據(jù)量大大減少,并且事務平均等待時間也大大縮短,所以IO2PC-MT模型能夠提供較好的總體性能。
本文基于O2PC-MT模型設(shè)計了一種改進的樂觀兩階段提交移動事務處理模型(IO2PCMT)。該模型提供了對移動事務的長事務特性的有效與靈活的支持。此外,該模型還提供了對交互式事務及隨意移動性的支持。實驗結(jié)果表明,與O2PC-MT模型相比,IO2PC-MT模型有效地減小了移動終端機的存儲空間,大大縮短了事務平均等待時間,提高了資源利用效率和系統(tǒng)效率,為移動事務處理提供了一種切實可行的解決方案。但研究中仍存在著一些不足,例如事務撤銷率偏高,如何保持較低的事務撤銷率,還需要更進一步的研究。
[1]孟小峰,丁治明.移動數(shù)據(jù)管理概念與技術(shù)[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]丁治明,孟小峰,王珊.移動數(shù)據(jù)庫系統(tǒng)樂觀事務處理策略[J].計算機研究與發(fā)展,2002,39(10):1380 -1387.
[4]劉鐵銘,張有為.嵌入式移動數(shù)據(jù)庫應用研究[J].計算機學報,2006,22(2):88 -90.
[5]楊進才,劉云生.移動事務的數(shù)據(jù)收集與存儲[J].計算機工程與應用,2004(8):25 -27.
[6]王珊,丁治明,張孝.移動數(shù)據(jù)庫及應用[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—),男,河南洛陽人,中航工業(yè)空空導彈研究院助理工程師,主要從事生產(chǎn)管理信息化方面的研究工作。