国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于改進樂觀兩階段鎖的移動事務處理模型

2019-11-18 05:22任占廣李叔繁尚福華
計算機技術與發(fā)展 2019年11期
關鍵詞:數據庫系統事務服務器

任占廣,李叔繁,尚福華

(1.重慶文理學院 軟件工程學院,重慶 402160; 2.東北石油大學 計算機與信息技術學院,黑龍江 大慶 163318)

0 引 言

在數據庫系統中,傳統事務處理模型很好地解決了傳統應用環(huán)境下事務的并發(fā)控制問題。但在移動互聯網環(huán)境中,由于事務的頻繁斷接性和長延遲性,傳統的事務處理機制已無法滿足移動數據庫系統的事務處理要求,為此,有必要對移動事務提交和執(zhí)行策略進行研究。移動事務處理可分為三類,一類是重新定義了事務的ACID(原子性、一致性、隔離線、持續(xù)性)特性[1],如集群事務模型[1]、KANGROO模型[2]、MOFLEX模型[3],雖然滿足了移動環(huán)境,但無法保證事務的可串行性;第二類是將傳統數據庫事務處理機制引入到移動計算環(huán)境中,如文獻[4-5],要求移動端必須一次性將完整的事務操作序列提交到數據庫服務器,一旦在提交過程中發(fā)生網絡中斷,移動端只能重新提交,所以該模型不是很適合移動數據庫系統;第三類是將移動事務分成發(fā)送和樂觀提交兩階段執(zhí)行并采用不同的沖突消解機制,如文獻[6-7]采用時間戳解決事務沖突問題,文獻[8]采用結果集檢測的方式消除事務沖突,文獻[9]分別針對油田的特定業(yè)務,局限性較大。雖然都考慮到了移動事務的不穩(wěn)定特點,但由于均采用兩階段鎖協議,數據可能被長時間封鎖,使斷接事務或長事務長時間占用資源而最終發(fā)生死鎖[10]。

鑒于以上分析,文中提出一種基于改進樂觀兩階段鎖的移動事務處理模型,在保證事務ACID特性的同時降低了斷接事務或者長事務對移動數據庫系統的影響。

1 樂觀兩階段鎖事務處理模型

1.1 樂觀兩階段鎖機制分析

在樂觀兩階段鎖移動事務處理模型中,移動事務的提交和移動事務的執(zhí)行采用不同的事務處理模式,前者采用了樂觀的并發(fā)控制機制,而后者遵循兩階段鎖事務執(zhí)行協議。移動數據庫系統的整體架構如圖1所示[11-13]。

圖1 移動數據庫系統整體架構

如圖1所示,固定網絡擁有多個數據庫服務器,每個數據庫服務器都有一個本地的數據庫,本地的數據庫服務器負責讀寫、預處理、提交、執(zhí)行等事務的操作[14-15]。每一個移動支持節(jié)點相當于移動端與固定網絡之間的橋接器,一方面接收移動端發(fā)送過來的移動事務操作序列,另一方面將接收來的事務操作序列傳遞給固定網絡中相應的數據庫服務器執(zhí)行,并實時監(jiān)測執(zhí)行情況。每一個移動客戶端在任一時刻只能啟動一個移動事務序列,只有當該移動事務操作序列全部執(zhí)行完畢后才能啟動下一個移動事務操作序列。

1.2 存在的問題

在樂觀兩階段鎖移動事務處理模型中,移動事務可多次發(fā)送給移動支持節(jié)點,每次可以發(fā)送一個連續(xù)的移動事務操作序列,當移動客戶端接收到移動支持節(jié)點返回的事務序列的執(zhí)行結果后,可以移動到另一個網絡單元繼續(xù)發(fā)送下一個操作序列[7]。但該模型必須保證移動端在移動操作序列提交以及得到操作序列執(zhí)行結果的整個過程中始終處于強連接狀態(tài),一旦發(fā)生無線網絡斷接,就會造成移動事務序列的撤銷操作,只能重新提交移動事務操作序列。或由于無線網絡信號較差,使移動端發(fā)送或接收超時,造成事務堵塞或死鎖。而無線網絡受環(huán)境影響較大,本身具有低帶寬、長延遲、頻繁斷接和資源有限等特性,因此該模型不能很好地支持頻繁斷接和耗時較長的移動事務。針對這一缺點,文中對樂觀兩階段鎖的移動事務處理模型進行了有效改進,使改進模型更適合移動數據庫系統。

2 改進的移動事務處理模型

2.1 模型機制

為了解決上面提到的問題,在樂觀兩階段鎖移動事務處理模型的基礎上引入了移動事務處理機制(mobile transaction processor mechanism,MTPM)和移動事務協調機制(mobile transaction coordinator mechanism,MTCM)。MTPM負責移動事務操作序列的編輯、生成與發(fā)送, MTCM負責識別、接收、組合移動事務操作序列,同時將事務序列提交給數據庫服務器,將結果集返回給移動端。改進后的移動事務處理模型如圖2所示。

圖2 改進后的移動事務處理模型

2.2 MTPM

假設移動事務序列(mobile transaction series,MTS)由多個移動事務子序列組成,分別記為MTSj。

RResultSet(oj)={(ψ,υ)|ψ∈ReadSet(oj)∧υ=ζ(ψ,oj)}

WResultSet(T)={(η,υ)|η∈WSet(T)∧υ=δ(η,T)}

假設,MTSi有如下操作(見表1和表2):

表1 讀操作

表2 寫操作

設對應的MTS的標識MID為“M01”,所執(zhí)行的操作序為:r[a=50],w[a=60]。其結果如表3所示。

表3 結果集

2.3 MTCM

MTCM有兩種協調方式。當MTS是一個完整的事務操作序列時,整個MTS發(fā)送給MTCM時,MTCM將等待MTS全部收到后再執(zhí)行。當MTS被分成若干個子序列,分別發(fā)送給MTCM時,MTCM根據事務識別號,將子事務序列首先存入到事務日志中,如果在這一過程中發(fā)生網絡中斷,那么該事務將處于掛起狀態(tài),MTCM繼續(xù)接收和處理其他的事務。當網絡恢復后,繼續(xù)接收,直到接收到以MTS_end結尾的子序列時,則說明整個移動事務操作序列接收完成,MTCM提取事務日志子序列,合并成一個完整的事務,提交給數據庫服務器執(zhí)行。MTCM一方面負責監(jiān)聽事務執(zhí)行情況,另一方面接收數據庫服務器返回的結果集,并將結果集暫存到該事務的結果集日志中,同時MTCM根據事務標識檢測移動端是否處于連接狀態(tài),如果狀態(tài)良好,就將結果集返回給MTPM,如果狀態(tài)不佳,就繼續(xù)檢測,直到網絡正常后再發(fā)送。具體流程如圖3所示。

圖3 MTCM處理流程

3 實 驗

3.1 算法實現

該算法由兩個階段完成,第一階段MTCM接收MTPM發(fā)送過來的事務序列,進行識別與編輯;第二階段MTCM提交組合好的事務給數據庫服務器,并將結果集返回給MTPM。

第一階段:識別與編輯。

一個移動事務序列由n個子序列MTSi構成,在識別階段,MTCM首先啟動一個相應驗證事務VMTSi,在執(zhí)行VMTSi過程中,MTSi采用樂觀訪問并發(fā)控制機制,在訪問過程中要檢測移動事務的寫集沖突。

(?j∈[1,n])∧(WriteSet(oj)≠Write Set(Voj))或(?j∈[1,n])∧(?Ψ∈(Set (oj)與WriteSet(Voj)))∧(ζ(Ψ,oj)≠ζ(Ψ,Voj))

定義6:對于移動事務MTSj,當進行了與之對應的一系列驗證操作后,仍然沒有檢測到移動事務的寫集沖突和事務的執(zhí)行時沖突,則說明驗證事務VMTSi執(zhí)行完畢,事務調度的可串行性沒有被破壞;否則MTCM不能提交該事務。

第二階段:監(jiān)聽與提交。

在規(guī)定的時間范圍內,如果MTCM驗證并接收到所有移動事務子序列后,則提交數據庫服務器;反之則通知MTPM,接收超時,終止本次提交。

3.2 實驗結果分析

為了分析改進后的模型在移動計算環(huán)境下的性能,以“玩課網”平臺學習行為數據為基礎,通過Java、Android搭建了移動數據庫系統。實驗中的主要參數有:元組數為20萬條,每個移動事務的平均操作數為7;事務處理服務器上并發(fā)的移動事務個數為0到1萬;事務啟動所造成的延遲為10到500毫秒。圖4為理想的移動環(huán)境下改進前后事務并發(fā)量與成活率的關系;圖5為連續(xù)非并發(fā)移動事務訪問量為100時,移動環(huán)境的變化與事務執(zhí)行情況的關系。

圖4 改進前后移動事務成活率

圖5 改進前后移動事務提交量

由圖4 可以看出,隨著移動事務并發(fā)量的增加,移動事務成活率隨之降低。而當并發(fā)事務量相等時,改進后事務提交的成功率大于改進前的事務提交成功率。當移動事務的并發(fā)量越大時,改進后的效果越明顯。由圖5所示,當移動端與服務器端正常連接時,改進前后事務的成功執(zhí)行率基本相同,當移動網絡處于斷接或者弱連接的情況時,改進后的事務的提交并執(zhí)行成功量明顯高于改進前。因此,改進后的模型無論是對移動事務并發(fā)控制還是對移動環(huán)境的適應能力都有了明顯的提升。

4 結束語

文中提出了一種基于改進樂觀兩階段鎖移動事務處理模型,該模型充分考慮了移動計算機環(huán)境弱連接性,并對頻繁斷接事務和移動長事務有了很好的控制。實驗表明,改進模型能更好地適應于移動數據庫系統。

猜你喜歡
數據庫系統事務服務器
北京市公共機構節(jié)能宣傳周活動“云”彩紛呈北京市機關事務管理局
Oracle數據庫系統的性能優(yōu)化研究
2018年全球服務器市場將保持溫和增長
針對基于B/S架構軟件系統的性能測試研究
一種Web服務組合一致性驗證方法研究
Hibernate框架持久化應用及原理探析
對分布式數據庫系統的安全分析
數據庫系統在信息管理中的使用
數據庫系統在計算機體系結構中的應用
用獨立服務器的站長注意了