摘要:移動事務(wù)處理系統(tǒng)中,計算平臺的移動性、頻繁的斷接性以及長事務(wù)等特性使得過區(qū)切換的處理顯得非常重要,比如在移動事務(wù)執(zhí)行過程中,移動計算機位置的改變會帶來復雜的過區(qū)切換問題。使用過區(qū)切換處理帶來的好處:一是移動事務(wù)可以在移動主機的移動過程中完成;二是降低了事務(wù)的響應(yīng)時間;三是過區(qū)切換有利于安全管理。文章以樂觀兩階段移動事務(wù)處理模型為基礎(chǔ),著重對過區(qū)切換問題進行分析與說明,以此來討論移動事務(wù)過區(qū)切換的基本處理策略。
關(guān)鍵詞:移動性;斷接性;長事務(wù);移動事務(wù);過區(qū)切換;樂觀兩階段
0 引言
在移動數(shù)據(jù)庫中,固定主機和移動計算機均能發(fā)起事務(wù),其中移動計算機發(fā)起的事務(wù)稱為移動事務(wù)。由于有限的通信帶寬以及頻繁斷接操作的影響,移動事務(wù)通常屬于長事務(wù);在移動事務(wù)執(zhí)行的過程中,移動計算機位置的改變會帶來復雜的過區(qū)切換問題。
1 概念
當移動主機從—個無線網(wǎng)絡(luò)單元移動到另—個無線網(wǎng)絡(luò)單元時,需要向當前所在地的MSS登記并連接,同時斷開與上一個MSS的連接;此后,移動主機將通過當前所在地的MSS連接到固定網(wǎng)絡(luò)中。我們把這個過程叫做過區(qū)切換。當發(fā)生過區(qū)切換時,移動主機的某個移動事務(wù)可能還沒有完成,因此需要將剩余的事務(wù)操作交給當前所在地MSS上的協(xié)調(diào)器控制執(zhí)行;事務(wù)的狀態(tài)信息必須從上—個MSS傳遞到目前的MSS上,然后才開始執(zhí)行剩下的事務(wù)操作。這實際上就是事務(wù)的過區(qū)切換過程。
2 移動事務(wù)過區(qū)切換的基本處理策略
通常在每個移動基站MSS上都有一個協(xié)調(diào)器來管理并監(jiān)控移動事務(wù)的執(zhí)行。當移動計算機MC-A在無線網(wǎng)絡(luò)A中啟動一個移動事務(wù)Tran-A時,在網(wǎng)絡(luò)A的移動基站MSS-A上的協(xié)調(diào)器MSS-AC上需要維護移動事務(wù)Tran-A的一個上下文,記錄該事務(wù)的運行信息;若事務(wù)沒有完成時,移動計算機移動到了無線網(wǎng)絡(luò)B中,則需要網(wǎng)絡(luò)B中的移動基站MSS-B上的協(xié)調(diào)器MSS-BC與MSS-A上的協(xié)調(diào)器MSS-AC共同合作,才能完成事務(wù)Tran-A并返回結(jié)果給MC-A。兩個協(xié)調(diào)器間的合作策略有很多,常見的是MSS-BC與MSS-AC聯(lián)系,取得事務(wù)Tran-A運行情況的上下文,然后再由MSS-BC來負責完成事務(wù)余下的操作。
協(xié)調(diào)器維護的事務(wù)上下文的內(nèi)容取決于移動事務(wù)管理的策略,過少的內(nèi)容將使協(xié)調(diào)器難以監(jiān)控事務(wù)的執(zhí)行,過多的開銷又會增加協(xié)調(diào)服務(wù)器的開銷,并加重協(xié)調(diào)服務(wù)器之間通信的開銷,從而影響系統(tǒng)的性能。
本文在樂觀兩階段提交移動事務(wù)模型的基礎(chǔ)上,分析過區(qū)切換的處理。
3 系統(tǒng)模型結(jié)構(gòu)
如圖1所示,設(shè)有3個分別隸屬于不同部門(如銀行、旅行社、航空公司)的數(shù)據(jù)庫服務(wù)器,通過固定網(wǎng)絡(luò)連成一個分布式數(shù)據(jù)庫系統(tǒng)。固定網(wǎng)絡(luò)上分布著一些移動控制中心(MCC),每個MCC管轄著一組移動基站(BS),覆蓋一定的地理區(qū)域并與其中的移動計算機(MC)進行通信。MCC具有分布式事務(wù)管理的功能,是分布式數(shù)據(jù)庫的一部分,同時它也可以管理實際的數(shù)據(jù)(如服務(wù)器X)?,F(xiàn)假設(shè)移動用戶正處于無線網(wǎng)絡(luò)單元的位置并沿著通往無線網(wǎng)絡(luò)單元c的道路行進,在行進的過程中U提交了如下事務(wù)操作:
Begin Transaction
Read(x):∥在無線網(wǎng)絡(luò)單元A提交,在服務(wù)器x執(zhí)行;
Read(y):∥在無線網(wǎng)絡(luò)單元B提交,在服務(wù)器y執(zhí)行;
Write(z)://在無線網(wǎng)絡(luò)單元C提交,在服務(wù)器z執(zhí)行:
Commit
上述例子代表了一類典型的移動數(shù)據(jù)庫應(yīng)用,一般地,我們可以有如圖2所示的移動數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)。在該結(jié)構(gòu)中,固定網(wǎng)絡(luò)上有3類主機,即固定主機(FH)、移動控制中心(MCC)和位置服務(wù)器(LS)。其中每個FH和MCC上都有一個數(shù)據(jù)庫服務(wù)器并管理相應(yīng)的數(shù)據(jù)庫;LS負責管理并跟蹤每個MC的當前位置及狀態(tài),它不帶無線通信接口和數(shù)據(jù)庫服務(wù)器。
4 樂觀兩階段提交移動事務(wù)模型(02PC-MT)上過區(qū)切換的實現(xiàn)
02PC-MT移動事務(wù)處理模型如圖3所示。
在02PC-MT模型中,MC發(fā)送給MCC的移動事務(wù)由一系列依次從O到N進行編號的讀寫操作組成,這些操作以Begin-MT(MTID,TMODE)開始,以Commit或Abort結(jié)束。其中MTID是MC在啟動移動事務(wù)時賦予它的事務(wù)標識(為了簡化說明,假設(shè)任一時刻MC只執(zhí)行一個事務(wù),這樣可以直接取移動計算機的標識MCID作為MTID);TMODE是移動事務(wù)的發(fā)送方式。
MC可以有兩種發(fā)送移動事務(wù)的方式:①一次性將整個事務(wù)發(fā)送給MCC,該方式適用于非交互性事務(wù);②整個事務(wù)分為多次發(fā)送,每次只發(fā)送事務(wù)的若干個連續(xù)的操作,這種方式適用于交互性事務(wù)(我們稱用戶連續(xù)發(fā)送的一組事務(wù)操作所構(gòu)成的序列為邏輯操作序列,記為LOPS)。
不管采用上述何種發(fā)送方式,移動事務(wù)的接收都可能涉及到多個MCC。這是因為在發(fā)送事務(wù)操作的過程中,MC可能會發(fā)生過區(qū)切換(即跨越不同MCC的覆蓋范圍)。由于MC總是將事務(wù)操作發(fā)送給當前所處無線網(wǎng)絡(luò)單元的MCC,因此一個LOPS在發(fā)生過區(qū)切換時就被分割成兩個或更多個由連續(xù)操作所構(gòu)成的序列,并被不同的MCC所接收(我們稱每個MCC所接收到的操作序列為物理操作序列,記為POPS)。
4.1 MCC對POPS的接收與轉(zhuǎn)發(fā)
MCC收到POPS之后,將依不同的情況作相應(yīng)的處理:①如果POPS以Begin-MT(MCID,TMODE)開始,則表明這是一個新的移動事務(wù),此時MCC就成為該移動事務(wù)的協(xié)調(diào)者結(jié)點(MTMC)。MCC首先將MCID存入事務(wù)隊列,并將POPS中的操作存入事務(wù)操作隊列,然后向所有其它的MCC發(fā)送廣播消息,其中帶有MCID與其網(wǎng)絡(luò)地址的對應(yīng)關(guān)系。其它MCC收到該廣播消息之后,將相應(yīng)的信息存入路由表。②如果MCC收到的POPS中不含Begin--MT語句,則它只起一個接收/轉(zhuǎn)發(fā)的作用,即根據(jù)路由表及移動計算機標識將收到的POPS轉(zhuǎn)發(fā)給相應(yīng)的MTMC。
4.2過區(qū)切換時的事務(wù)處理
在過區(qū)切換發(fā)生時,一個完整的事務(wù)就會被分割,出現(xiàn)用第2種方式發(fā)送的事務(wù)情況。MTMC在收到移動事務(wù)的第1個POPS之后即啟動該移動事務(wù)的執(zhí)行。對于移動事務(wù)MT,其整個執(zhí)行過程包括兩個階段:樂觀執(zhí)行階段和兩段提交階段。這兩個階段相對獨立,從數(shù)據(jù)庫并發(fā)控制底層的角度可以將它們視為兩個彼此聯(lián)系又相互獨立的事務(wù),分別記為樂觀事務(wù)OT和基事務(wù)BT。
在樂觀執(zhí)行階段,MTMC在監(jiān)控移動事務(wù)執(zhí)行的同時接收該移動事務(wù)的后續(xù)POPS。如果新收到的POPS中含有Abort。則MTMC立即通知所有MTMP釋放相應(yīng)的資源,并終止事務(wù)的執(zhí)行;否則,新的POPS將被存入事務(wù)操作隊列中的相應(yīng)位置。由于移動事務(wù)的各個操作被賦以連續(xù)的編號,因此MTMC可以將收到的事務(wù)操作恢復為原來的順序。根據(jù)全局字典,各事務(wù)操作按照編號順序被逐條發(fā)往相應(yīng)的MTMP按樂觀方式執(zhí)行。如果事務(wù)的下一條操作或下一條操作所需要的數(shù)據(jù)還沒有被MTMC收到,則該事務(wù)將轉(zhuǎn)入休眠狀態(tài),直到條件重新滿足為止。當MTMC執(zhí)行到Commit語句時,如果所有的前續(xù)操作均已按樂觀方式執(zhí)行完畢,則該移動事務(wù)將進入兩段提交階段。兩段提交過程結(jié)束后,MTMC將最終結(jié)果傳送給MC,同時通知所有的MCC釋放路由表中的相應(yīng)記錄,至此整個事務(wù)執(zhí)行結(jié)束。
由上述分析可知,樂觀兩階段提交移動事務(wù)模型(02PC-MT)采用樂觀并發(fā)控制與兩階段提交協(xié)議相結(jié)合的方法,對移動事務(wù)的長事務(wù)特性提供了靈活與有效的支持;此外,該模型允許移動計算機分多次發(fā)送事務(wù)操作,且在事務(wù)執(zhí)行的過程中可以任意移動,從而提供了對交互式事務(wù)及隨意移動性的支持。
5 結(jié)束語
過區(qū)切換處理帶來的好處是:第一,移動事務(wù)可以在移動主機的移動過程中完成,因為移動事務(wù)可以在MSS之間遷移,移動用戶不必在啟動一個事務(wù)后固定在某個無線網(wǎng)絡(luò)單元內(nèi)等待事務(wù)執(zhí)行,才能移動到下一個移動單元內(nèi);第二,降低了事務(wù)的響應(yīng)時間,移動主機的移動可能極大地加大了移動主機到原MSS的物理距離,用戶從原MSS獲取數(shù)據(jù)的通訊延遲將急劇加大,過區(qū)切換可以均衡移動支持節(jié)點問的負載;最后,過區(qū)切換有利于安全管理,MSS只允許接收本地無線網(wǎng)絡(luò)單元內(nèi)客戶機發(fā)送的事務(wù)操作請求,因而可以避免偽冒權(quán)限的安全問題。