摘要:移動事務處理系統中,計算平臺的移動性、頻繁的斷接性以及長事務等特性使得過區切換的處理顯得非常重要,比如在移動事務執行過程中,移動計算機位置的改變會帶來復雜的過區切換問題。使用過區切換處理帶來的好處:一是移動事務可以在移動主機的移動過程中完成;二是降低了事務的響應時間;三是過區切換有利于安全管理。文章以樂觀兩階段移動事務處理模型為基礎,著重對過區切換問題進行分析與說明,以此來討論移動事務過區切換的基本處理策略。
關鍵詞:移動性;斷接性;長事務;移動事務;過區切換;樂觀兩階段
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只允許接收本地無線網絡單元內客戶機發送的事務操作請求,因而可以避免偽冒權限的安全問題。