第十一章 并發(fā)控制概述_第1頁
第十一章 并發(fā)控制概述_第2頁
第十一章 并發(fā)控制概述_第3頁
第十一章 并發(fā)控制概述_第4頁
第十一章 并發(fā)控制概述_第5頁
已閱讀5頁,還剩46頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第十一章并發(fā)控制引言-關(guān)于數(shù)據(jù)庫安全保護(hù)數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)是由DBMS統(tǒng)一進(jìn)行管理和控制的。為了適應(yīng)和滿足數(shù)據(jù)共享的環(huán)境和要求,DBMS要保證數(shù)據(jù)庫及整個(gè)系統(tǒng)的正常運(yùn)轉(zhuǎn),防止數(shù)據(jù)意外丟失和不一致數(shù)據(jù)的產(chǎn)生,以及當(dāng)數(shù)據(jù)庫遭受破壞后能迅速地恢復(fù)正常,這就是數(shù)據(jù)庫的安全保護(hù)。引言DBMS對(duì)數(shù)據(jù)庫的安全保護(hù)功能是通過:安全性控制完整性控制并發(fā)性控制數(shù)據(jù)庫恢復(fù)等四方面來實(shí)現(xiàn)的。說明:(1)安全性是保護(hù)數(shù)據(jù)庫,以防止非法使用所造成數(shù)據(jù)的泄露、更改或破壞,(2)完整性是指保護(hù)數(shù)據(jù)庫中數(shù)據(jù)的正確性、有效性和相容性,防止錯(cuò)誤的數(shù)據(jù)進(jìn)入數(shù)據(jù)庫造成無效操作。(3)完整性和安全性是數(shù)據(jù)庫保護(hù)的兩個(gè)不同的方面:安全性措施的防范對(duì)象是非法用戶和非法操作;完整性是防止合法用戶使用數(shù)據(jù)庫時(shí)向數(shù)據(jù)庫中加入不符合語義的數(shù)據(jù),完整性措施的防范對(duì)象是不合語義的數(shù)據(jù)。引言(4)事務(wù)是數(shù)據(jù)庫的邏輯工作單元,只要保證了事務(wù)的ACID特性,也就保證了數(shù)據(jù)庫處于一致性狀態(tài)(5)事務(wù)處理技術(shù)主要包括:數(shù)據(jù)庫恢復(fù)技術(shù)和并發(fā)控制技術(shù)11.1事務(wù)的基本概念11.2并發(fā)操作與數(shù)據(jù)的不一致性11.3封鎖11.4活鎖和死鎖返回本章首頁數(shù)據(jù)庫并發(fā)性概述

每個(gè)用戶在存取數(shù)據(jù)庫中的數(shù)據(jù)時(shí),可能是串行執(zhí)行,即每個(gè)時(shí)刻只有一個(gè)用戶程序運(yùn)行,也可能是多個(gè)用戶并行地存取數(shù)據(jù)庫。串行執(zhí)行意味著一個(gè)用戶在運(yùn)行程序時(shí),其他用戶程序必須等到這個(gè)用戶程序結(jié)束才能對(duì)數(shù)據(jù)庫進(jìn)行存取,這樣數(shù)據(jù)庫系統(tǒng)的利用率會(huì)極低。數(shù)據(jù)庫并發(fā)執(zhí)行是主流。BACK在多用戶和網(wǎng)絡(luò)環(huán)境下,數(shù)據(jù)庫是一個(gè)共享資源,多個(gè)用戶或應(yīng)用程序同時(shí)對(duì)數(shù)據(jù)庫的同一數(shù)據(jù)對(duì)象進(jìn)行讀寫操作,這種現(xiàn)象稱為對(duì)數(shù)據(jù)庫的并發(fā)操作。顯然并發(fā)操作可以充分利用系統(tǒng)資源,提高系統(tǒng)效率。雖然如此,但是如果對(duì)并發(fā)操作不進(jìn)行控制會(huì)造成一些錯(cuò)誤。舉例對(duì)并發(fā)操作進(jìn)行的控制稱為并發(fā)控制。并發(fā)控制機(jī)制是衡量一個(gè)DBMS的重要性能指標(biāo)之一。數(shù)據(jù)庫的并發(fā)控制機(jī)制能解決這類問題,以保持?jǐn)?shù)據(jù)庫中數(shù)據(jù)的在多用戶并發(fā)操作時(shí)的一致性、正確性。數(shù)據(jù)庫的并發(fā)控制以事務(wù)為單位,通常使用封鎖技術(shù)實(shí)現(xiàn)并發(fā)控制。對(duì)數(shù)據(jù)對(duì)象施加封鎖,會(huì)帶來活鎖和死鎖問題,并發(fā)控制機(jī)制必須提供適合數(shù)據(jù)庫特點(diǎn)的解決方法。11立.1事務(wù)稈的基渡本概差念1、事涉務(wù)(Tr草an字sa感ct予io鬼n)的飼定義事務(wù)是數(shù)劑據(jù)庫利系統(tǒng)循中執(zhí)否行的鍛一個(gè)幅工作汁單位漲,它匆是由物用戶涌定義偽的一奮組操泄作序笛列組受成。一個(gè)鑄事務(wù)郵可以故是一家組SQ友L語句名、一往條SQ減L語句舒或整溜個(gè)程煤序,趁一個(gè)障應(yīng)用壓程序?qū)涌梢阅涟ㄍ径鄠€(gè)裹事務(wù)具。事淺務(wù)的濤開始里與結(jié)忽束可濁以由用戶計(jì)顯式蹲控制。如萌果用財(cái)戶沒碼有顯林式地域定義飼事務(wù)境,則鋪由DB蹄MS按照軟缺省盞規(guī)定自動(dòng)膽劃分蠟事務(wù)。在SQ終L語言妹中,如何燭定義俯事務(wù)顯式膚定義鄉(xiāng)豐方式BE罩GI尼N正TR深A(yù)N雞SA況CT灘IO巴NBE螞GI仙N慮TR疏AN政SA在CT烈IO斯NSQ瘡L語句蛛1SQ紐奉L語句建1SQ梨L語句吹2SQ紛L語句攻2。。否。。配。譽(yù)。宿。。坑。。CO替MM飲ITRO倡LL溜BA遣CK說明鉆:BE勻GI止N況TR播AN語SA追CT新IO解N表示萄事務(wù)鋸的開始;CO證MM奧IT事務(wù)通正常絮結(jié)束--提交事務(wù)掩的所決有操穩(wěn)作(卻讀+更新舍)事務(wù)逃中所纖有對(duì)拍數(shù)據(jù)臺(tái)庫的翅更新永久生效RO癥LL商BA趨CK事務(wù)尺異常心終止--事務(wù)厲運(yùn)行開的過仿程中妥發(fā)生娘了故蹈障,鴨不能怒繼續(xù)錄執(zhí)行回滾事務(wù)取的所剝有更新操作事務(wù)兄滾回鴨到開始時(shí)的檢狀態(tài)2.事務(wù)謎的特喚性(A究CI擠D特性)事務(wù)讓的AC櫻ID特性朋:原子撕性(At帆om蠢ic棗it借y)一致補(bǔ)性(Co代ns甘is常te屆nc誼y)隔離案性(Is死ol愿at機(jī)io廣n)持續(xù)旋性(Du師ra忌bi碰li擺ty)1)原并子性一個(gè)權(quán)事務(wù)觸是一迅?jìng)€(gè)不發(fā)可分連割的投工作宰單位痰,事貿(mào)務(wù)在招執(zhí)行晚時(shí),事務(wù)膚中包雨括的鋤諸操睡作要彼么都弦做,盾要么冠都不梅做2)聾一致刻性事務(wù)倘執(zhí)行套的結(jié)吐果必座須是道使數(shù)株據(jù)庫穩(wěn)從一輸個(gè)一簡(jiǎn)致性期狀態(tài)賴變到叢另一內(nèi)個(gè)一李致性耗狀態(tài)一致弓性狀榆態(tài):數(shù)綠據(jù)庫糾中只炭包含拖成功勝事務(wù)燦提交述的結(jié)桑果不一兄致狀水態(tài):數(shù)貪據(jù)庫夢(mèng)中包恩含失出敗事淚務(wù)的朝結(jié)果銀行承轉(zhuǎn)帳初:從汗帳號(hào)A中取麗出一祖萬元困,存觸入帳碑號(hào)B。定義遼一個(gè)鄭事務(wù)基,該潛事務(wù)策包括仇兩個(gè)暮操作這兩毒個(gè)操膝作要蔥么全頑做,耕要么梨全不逆做全做狀或者齊全不飄做,束數(shù)據(jù)訴庫都圖處于命一致氧性狀唱態(tài)。如果調(diào)只做抄一個(gè)高操作爽,數(shù)憑據(jù)庫牛就處暗于不很一致昏性狀犧態(tài)。

B=B+1

A=A-1BA原子圈性、底一致軋性示解例:3)隔峰離性一個(gè)省事務(wù)篩的執(zhí)盡行不矮能被尚其他生事務(wù)雅干擾一個(gè)暫事務(wù)壤內(nèi)部隊(duì)的操遠(yuǎn)作及管使用村的數(shù)痛據(jù)對(duì)聲其他勻并發(fā)躍事務(wù)犁是隔韻離的并發(fā)事執(zhí)行炕的各鼠個(gè)事評(píng)務(wù)之遣間不想能互席相干纏擾4)持令續(xù)性持續(xù)址性也博稱永裳久性海(Pe割rm屠an齒en炎ce)一個(gè)稅事務(wù)壓一旦糞提交立,它惱對(duì)數(shù)靜據(jù)庫卸中數(shù)浸據(jù)的銹改變散就應(yīng)油該是豪永久黎性的扯。接下饞來的里其他萌操作味或故慌障不道應(yīng)該縮慧對(duì)其蒜執(zhí)行疲結(jié)果裂有任厭何影漿響。保證越事務(wù)AC我ID特性辭是事慎務(wù)處嫂理的蜻任務(wù)破壞胸事務(wù)AC估ID特性專的因管素:多個(gè)證事務(wù)性并行攝運(yùn)行靜時(shí),尋不同革事務(wù)雄的操肥作交已叉執(zhí)問行事務(wù)搬在運(yùn)抓行過企程中微被強(qiáng)圣行停泄止BE百GI胡N隸TR疤AN簽SA類CT質(zhì)IO牧NRE鴉AD嬸AA←蘆A-蜂MIF遣A比<0德/*級(jí)A款不譽(yù)足*/TH恭ENBE葉GI旺NDI材SP咱LA邊Y后“造A款不撿足”RO災(zāi)LL焰BA俗CKEN傭DEL教SE乒/性*撥款瓶*/BE凈GI畜NB←根B+堅(jiān)MDI截SP沙LA當(dāng)Y行“撥款叛完成啟”CO歐MM弟ITEN權(quán)D下面遷是一晃個(gè)事欠務(wù)的月例子頁,從柜帳號(hào)A轉(zhuǎn)移鉛資金訊額R到帳阻號(hào)B:BA漏CK11.2并發(fā)液操作料與數(shù)販據(jù)的竿不一雙致性注意例:事務(wù)膊的AC述ID特性章可能煩遭到句破壞飯的原瞞因之打一是趕多個(gè)鐵事務(wù)悶對(duì)數(shù)憲據(jù)庫航的并看發(fā)操笛作造饞成的潮。1、不拾同的睜多事敞務(wù)執(zhí)顫行方稈式(1公)事務(wù)縮慧串行洋執(zhí)行每個(gè)殼時(shí)刻嘗只有拿一個(gè)銜事務(wù)倡運(yùn)行庫,其塞他事扮務(wù)必黎須等密到這販個(gè)事傅務(wù)結(jié)零束以皇后方劃能運(yùn)敲行;不能暗充分戴利用辜系統(tǒng)魔資源賓,發(fā)刑揮數(shù)墾據(jù)庫瘋共享驚資源耽的特腎點(diǎn);(2貞)交叉裕并發(fā)負(fù)方式爪(In板te尾rl膨ea部ve湖d標(biāo)Co衰nc覽ur課re槍nc府y)在單些處理修機(jī)系競(jìng)統(tǒng)中飾,事斑務(wù)的行并行朝執(zhí)行粥是這某些并能行事夜務(wù)的綿并行宴操作倚輪流歸交叉略運(yùn)行篩;單處嘩理機(jī)吩系統(tǒng)燈中的味并行屯事務(wù)淡并沒鐘有真菜正地裝并行鄙運(yùn)行推,但緣瑞能夠液減少么處理蕩機(jī)的矮空閑同時(shí)間態(tài),提歉高系野統(tǒng)的結(jié)效率我;T1T2T3事務(wù)的串行執(zhí)行方式事務(wù)的交叉并發(fā)執(zhí)行方式注意蛇:事務(wù)燒并發(fā)朱執(zhí)行蘇帶來節(jié)的問巾題:會(huì)產(chǎn)烈生多拘個(gè)事斑務(wù)同柳時(shí)存境取同紙一數(shù)葬據(jù)的棗情況名;若對(duì)撈并發(fā)魯操作血不加買控制淡,就斜可能膝會(huì)存游取和輝存儲(chǔ)矮不正械確的抹數(shù)據(jù)蛋,破勞壞事肌務(wù)一股致性激和數(shù)占據(jù)庫臣的一究致性柴;2.并發(fā)迎操作厲可能貍產(chǎn)生余的問頸題[例1]并發(fā)蘆取款圓操作恐。假野設(shè)存表款余貓額R=書10次00元,到甲事爺務(wù)T1取走卡存款20優(yōu)0元,昌乙事僵務(wù)T2取走烏存款30蠻0元,帆如果盲正常岔操作束,即繡甲事倆務(wù)T1執(zhí)行劍完畢懲再執(zhí)子行乙清事務(wù)T2,存款索余額還更新還后應(yīng)榆該是50拋0元。波但是懸如果逗按照?qǐng)鋈缦陆镯樞蜾h操作督,則閑會(huì)有敘不同搖的結(jié)口果:甲事數(shù)務(wù)T1讀取海存款且余額R矮=1彎00匠0元;乙事竄務(wù)T2讀取堆存款密余額R鎖=1歐00閃0元;BA意CK2.并發(fā)忘操作念可能首產(chǎn)生禽的問勸題甲事稠務(wù)T1取走凱存款20忽0元,惕修改役存款呀余額R幼=R-20魚0=雅80輔0,把R糾=8聚00寫回觀到數(shù)勾據(jù)庫罪;乙事茄務(wù)T2取走晚存款30共0元,色修改具存款榴余額R沖=R-30育0=目70荒0,把R躁=7抗00寫回?cái)⒌綌?shù)稻據(jù)庫所。結(jié)果恭兩個(gè)謎事務(wù)仿共取促走存鏈款50弓0元,陳而數(shù)衡據(jù)庫鐵中的誓存款魄卻只極少了30嫂0元。得到奸這種菠錯(cuò)誤率的結(jié)引果是耗由甲榮、乙燈兩個(gè)微事務(wù)腿并發(fā)駕操作價(jià)引起燃的。BA脹CK2.并發(fā)備操作擦可能撤產(chǎn)生憤的問唐題數(shù)據(jù)驅(qū)庫的寄并發(fā)蘿操作忽導(dǎo)致垃的數(shù)撤據(jù)庫場(chǎng)不一循致性警主要顯有以偉下三毛種:1)丟失聰更新競(jìng)(Lo材st槳U越pd互at托e)當(dāng)兩前個(gè)事否務(wù)T1和T2讀入溜同一嶼數(shù)據(jù)議做修常改,續(xù)并發(fā)尖執(zhí)行優(yōu)時(shí),T2把T1或T1把T2的修巖改結(jié)岔果覆堡蓋掉享,造蘋成了帖數(shù)據(jù)癢的丟陡失更惜新問息題,贈(zèng)導(dǎo)致膀數(shù)據(jù)術(shù)的不章一致奮。BA裕CK2.并發(fā)暮操作絨可能爪產(chǎn)生常的問毯題仍以[例1]中的壘操作墊為例柱進(jìn)行充分析下。在粒下表呢中,欺數(shù)據(jù)杏庫中R的初椒值是10攻00,事控務(wù)T1包含賄三個(gè)農(nóng)操作若:讀裙入R初值怠(FI禽ND薯R);計(jì)算憐(R=原R-腰20謠0);更新R(UP洲D(zhuǎn)A勞TE屑R)。事務(wù)T2也包雷含三轟個(gè)操月作:FI姓ND繼R;計(jì)犧算(R=孕R-泥30略0);UP伯DA當(dāng)TE校R。BA猴CK2.并發(fā)眉操作慨可能漁產(chǎn)生擇的問族題丟失斗更新濕問題時(shí)間事務(wù)T1R的值事務(wù)T2t0

1000

t1FINDR

t2

FINDRt3R=R-200

t4

R=R-300t5UPDATER

t6

800UPDATERt7

700

但如豬果T1和T2按照揉表5.洽5所示娛的并拌發(fā)執(zhí)伙行,R的值礎(chǔ)是70獵0,得形到錯(cuò)報(bào)誤的弱結(jié)果唯,原匯因在前于在t7時(shí)刻詞丟失薯了T1對(duì)數(shù)鋒據(jù)庫叮的更北新操鑼作。簡(jiǎn)因此烈,這規(guī)個(gè)并漸發(fā)操地作不閱正確誼。BA雙CK2、并朋發(fā)操讓作可輝能產(chǎn)己生的億問題2)污讀貨(Di顫rt選y觀Re魄ad)事務(wù)T1更新歇了數(shù)展據(jù)R,事務(wù)T2讀取紫了更拼新后袖的數(shù)率據(jù)R,事務(wù)T1由于皇某種夫原因膽被撤袖消,逢修改販無效刑,數(shù)軍據(jù)R恢復(fù)糞原值健。事割務(wù)T2得到踢的數(shù)奪據(jù)與窄數(shù)據(jù)療庫的斬內(nèi)容蔑不一嗎致,魚這種丹情況受稱為“污狗讀”更(又餃名臟嘴讀)多。BA丈CK2.并發(fā)掉操作餓可能定產(chǎn)生暗的問悶題時(shí)間事務(wù)T1R的值事務(wù)T2t0

1000

t1FINDR

t2R=R-200

t3UPDATER

t4

800FINDRt5ROLLBACK

t6

1000

污讀醫(yī)問題BA貪CK2、并授發(fā)操民作可童能產(chǎn)偏生的恩問題3)不可旺重讀偶(Un異re宴pe獅at虧ab費(fèi)le葬R羽ea冠d)事務(wù)T1讀取通了數(shù)媽據(jù)R,事務(wù)T2讀取類并更炮新了干數(shù)據(jù)R,當(dāng)事憂務(wù)T1再讀政取數(shù)燭據(jù)R以進(jìn)冤行核傍對(duì)時(shí)鐵,得汗到的旅兩次裳讀取桶值不民一致否,這偉種情膝況稱該為“不可臨重讀?!薄A民CK2、并超發(fā)操百作可著能產(chǎn)杏生的劈燕問題時(shí)間事務(wù)T1R的值事務(wù)T2t0

1000

t1FINDR1000

t2

FINDRt3

R=R-300t4

700UPDATERt5FINDR700

不可半重讀BA旅CK時(shí)間事務(wù)T1R的值事務(wù)T2t0

1000

t1FINDR1000

t2

FINDRt3

R=R-300t4

700UPDATERt5FINDR700

2、并度發(fā)操簡(jiǎn)作可鮮能產(chǎn)售生的尚問題產(chǎn)生淘上述鼠三類躺數(shù)據(jù)份不一卷致性前的主蛾要原東因就藥是并黃發(fā)操抄作破躺壞了壤事務(wù)捕的隔動(dòng)離性悟。當(dāng)將碧任務(wù)堂定義鏟成事奮務(wù),樓事務(wù)架具有饞的特膝性(早特別膀是隔擔(dān)離性歲)得規(guī)以保策證時(shí)嗚,就看會(huì)避叉免上泉述錯(cuò)怪誤的斬發(fā)生言。但是劫,如矛果只疏允許奸事務(wù)添串行峽操作象會(huì)降騙低系瞇統(tǒng)的司效率渠。并發(fā)謙控制璃就是趕要求DB儀MS提供儲(chǔ)并發(fā)蛋控制冤功能辜以正確的方臨式高塑度并輪發(fā)事買務(wù),避能免并撇發(fā)事咱務(wù)之蘭間的摧相互仍干擾打造成國數(shù)據(jù)榮的不辭一致敞性,桶保證猴數(shù)據(jù)請(qǐng)庫的粘完整禽性。所以線,多衛(wèi)數(shù)DB強(qiáng)MS采用犁事務(wù)峽機(jī)制順和封貫鎖機(jī)艱制進(jìn)粉行并寸發(fā)控燃制,者既保極證了鎮(zhèn)數(shù)據(jù)魔的一只致性旬,又蹦保障腐了系栽統(tǒng)效睬率。BA刻CK11使.3封鎖(Lo騾ck)機(jī)制封鎖釋機(jī)制是并他發(fā)控借制的麥主要規(guī)手段施;封鎖議就是當(dāng)一伯個(gè)事鞏務(wù)在秩對(duì)某襪個(gè)數(shù)取據(jù)對(duì)亡象(定可以行是數(shù)答據(jù)項(xiàng)投、記客錄、炎數(shù)據(jù)氏集、唐以至害整個(gè)老數(shù)據(jù)咱庫)截進(jìn)行赴操作揪之前懷,必蔽須獲戚得相艘應(yīng)的胃鎖,癥以保呢證數(shù)傍據(jù)操艘作的爆正確牌性和灑一致日性。加鎖爪后事挎務(wù)T就對(duì)康該數(shù)坦據(jù)對(duì)探象有跌了一盾定的碑控制圍,在兇事務(wù)T釋放刑它的劫鎖之暑前,持其它覽的事籠務(wù)不粥能更賀新此猾數(shù)據(jù)晌對(duì)象鳥。11煤.3封鎖(Lo騰ck)機(jī)制1.封鎖瘡具有3個(gè)環(huán)盟節(jié):第一拴個(gè)環(huán)已節(jié)是界申請(qǐng)雞加鎖坊;第二肆個(gè)環(huán)載節(jié)是沒獲得頑鎖;第三胃?jìng)€(gè)環(huán)差節(jié)是烈釋放博鎖。11突.3封鎖(Lo商ck)機(jī)制2.基本鉗的封吉鎖類央型排它成鎖(E奸xc營lu棵si宅ve挨L府oc刑ks,簡(jiǎn)伴稱X鎖)共享場(chǎng)鎖(S趨ha節(jié)re隨L杏oc呼ks,簡(jiǎn)踢稱S鎖)。11賠.3封鎖(Lo慰ck)機(jī)制(1屑)排它霸鎖(Ex削cl鵝us凝iv唐e宇Lo挖ck)排它片鎖又獅稱寫鎖,簡(jiǎn)或稱為X鎖,其采緒用的徐原理和是禁淚止并尚發(fā)操瀉作。當(dāng)碑事務(wù)T對(duì)某另個(gè)數(shù)狡據(jù)對(duì)穩(wěn)象R實(shí)現(xiàn)X封鎖精后,燭其他握事務(wù)呀要等T解除X封鎖具以后義,才央能對(duì)R進(jìn)行陽封鎖棗。這云就保儀證了堆其他廁事務(wù)叨在T釋放R上的網(wǎng)鎖之犯前,朝不能速再對(duì)R進(jìn)行幟操作乖。(2崖)共享嗓鎖(Sh萍ar時(shí)e演Lo牧ck)共享寺鎖又臭稱讀鎖,,簡(jiǎn)稱脫為S鎖,其采案用的綢原理盜是允喚許其殃他用戴戶對(duì)震同一頃數(shù)據(jù)喚對(duì)象喝進(jìn)行濫查詢供,但什不能之對(duì)該衣數(shù)據(jù)近對(duì)象漁進(jìn)行柴修改餃。當(dāng)事取務(wù)T對(duì)某咽個(gè)數(shù)字據(jù)對(duì)耳象R實(shí)現(xiàn)S封鎖脆后,快其他筐事務(wù)覽只能邁對(duì)R加S鎖,察而不撕能加X鎖,曲直到T釋放R上的S鎖。銀這就蠟保證妥了其鍬他事史務(wù)在T釋放R上的S鎖之粘前,掘只能鋼讀取R,而不牽能再掉對(duì)R作任斜何修次改。BA泉CK鎖的牲相容著矩陣Y=Yes,相容的請(qǐng)求N=No,不相容的請(qǐng)求T2T1XS-XNNYSNYY-YYY例:波使用纖封鎖西機(jī)制鵲解決墓丟失攏修改劫問題姓)(接之指前的貴補(bǔ)充掠練習(xí))T1T2①XlockA②R(A)=16XlockA③A←A-1等待

W(A)=15等待

Commit等待

UnlockA等待④獲得XlockAR(A)=15A←A-1⑤W(A)=14CommitUnlockA事務(wù)T1在讀A進(jìn)行貪修改泉之前倍先對(duì)A加X鎖;當(dāng)T2再請(qǐng)波求對(duì)A加X鎖時(shí)褲被拒照絕;T2只能詠等待T1釋放A上的竿鎖后T2獲得戒對(duì)A的X鎖這時(shí)T2讀到雄的A已經(jīng)隊(duì)是T1更新礦過的赤值15;T2按此奧新的A值進(jìn)象行運(yùn)篇算,釣并將無結(jié)果認(rèn)值A(chǔ)=右14送回禍到磁呢盤。串避免竭了丟吉失T1的更潮新。使用純封鎖慕機(jī)制煎解決戒讀“上臟”攪數(shù)據(jù)扣問題T1T2①

XlockCR(C)=100C←C*2W(C)=200②SlockC等待③

ROLLBACK等待(C恢復(fù)為100)等待UnlockC等待④獲得SlockCR(C)=100⑤CommitCUnlockC事務(wù)T1在對(duì)C進(jìn)行句修改哀之前鞏,先蘇對(duì)C加X鎖,堅(jiān)修改坐其值懇后寫糕回磁彩盤T2請(qǐng)求激在C上加S鎖,何因T1已在C上加坡了X鎖,T2只能哭等待T1因某鉗種原湖因被惕撤銷桌,C恢復(fù)充為原稿值10伶0T1釋放C上的X鎖后T2獲得C上的S鎖,塵讀C=魄10烤0。避夾免了T2讀“皺臟”撐數(shù)據(jù)不讀近“臟怖”數(shù)舊據(jù)使用第封鎖思機(jī)制訴解決盛不可拋重復(fù)成讀問低題T1T2①SlockASlockBR(A)=50R(B)=100求和=150②XlockB等待等待③R(A)=50等待R(B)=100等待求和=150等待Commit等待UnlockA等待UnlockB等待④獲得XlockBR(B)=100B←B*2⑤W(B)=200CommitUnlockB事務(wù)T1在讀A,B之前改,先州對(duì)A,B加S鎖其他濫事務(wù)裁只能堡再對(duì)A,B加S鎖,線而不甘能加X鎖,蠶即其治他事爺務(wù)只棕能讀A,B,而鬼不能政修改當(dāng)T2為修漲改B而申油請(qǐng)對(duì)B的X鎖時(shí)緊被拒言絕只塞能等考待T1釋放B上的固鎖T1為驗(yàn)災(zāi)算再暑讀A,B,這姻時(shí)讀徑出的B仍是10醋0,求萌和結(jié)廟果仍葡為15臭0,即喉可重警復(fù)讀T1結(jié)束猴才釋蜜放A,B上的S鎖。T2才獲障得對(duì)B的X鎖3.封鎖躍協(xié)議簡(jiǎn)單劍地對(duì)僚數(shù)據(jù)愉加X鎖和S鎖并舞不能版保證駕數(shù)據(jù)握庫的字一致鋒性。慎在對(duì)腫數(shù)據(jù)快對(duì)象途加鎖刮時(shí),執(zhí)還需戲要約訓(xùn)定一貞些規(guī)貌則。瓜如:何時(shí)賊開始廟封鎖通、封某鎖多染長(zhǎng)時(shí)戰(zhàn)間、文何時(shí)染釋放皺等,些規(guī)投則稱濟(jì)為封鎖培協(xié)議(L譜oc陜ki杜ng擊P情ro弦to敬co撲l)。對(duì)蔬封鎖茅方式粥規(guī)定火不同勝的規(guī)賴則,寫就形玻成了葉各種抽不同括的封革鎖協(xié)汽議。封鎖斥協(xié)議貪在不丸同程吳序上壘對(duì)正陪確控胸制并紛發(fā)操仔作提窄供了壟一定薪的保難證。一級(jí)澇、二鉤級(jí)、熔三級(jí)還封鎖號(hào)協(xié)議11弱.4死鎖耳和活塔鎖1)活鎖(Li奇ve竭lo衰ck)當(dāng)某娛個(gè)事代務(wù)請(qǐng)班求對(duì)呆某一啟數(shù)據(jù)笑的排浪它性拔封鎖具時(shí),聽由于芝其他溜事務(wù)參一直床優(yōu)先幫得到烤對(duì)該灶數(shù)據(jù)咽的封芬鎖與蒜操作獸而使拾這個(gè)召事務(wù)光一直塊處于畏等待痰狀態(tài)禽,這梅種狀買態(tài)形是成活數(shù)鎖。解決棉活鎖民問題趙的方助法是院采用低先來族先服伸務(wù)。即對(duì)涉要求闖封鎖狹數(shù)據(jù)妨的事桂務(wù)排興隊(duì),見使前粱面的星事務(wù)萄先獲夠得數(shù)糟據(jù)的承封鎖偽權(quán)BA毅CK11預(yù).4死鎖泳和活促鎖時(shí)間事務(wù)T1事務(wù)T2事務(wù)T3事務(wù)T4t0LOCKR

t1…LOCKR

t2…WAITLOCKR

t3UNLOCKWAITWAITLOCKRt4…WAITLOCKRWAITt5

WAIT

WAITt6

WAITUNLOCKWAITt7

WAIT

LOCKRt8

WAIT

活鎖BA墾CK11創(chuàng).4死鎖蜜和活濃鎖2、死境鎖(De揀ad可lo漂ck)在同警時(shí)處把于等哀待狀脂態(tài)的盼兩個(gè)固或多棋個(gè)事息務(wù)中根,每瞎個(gè)事哪務(wù)都恨在等弓待其雄中另蹦一個(gè)門事務(wù)因解除寇封鎖吧,它遵才能尾繼續(xù)反執(zhí)行仙下去園,結(jié)氣果造糟成任直何一間個(gè)事刪務(wù)都駐無法斑繼續(xù)戀執(zhí)行地,這峰種狀騙態(tài)稱令為死鎖過。BA食CK11侮.4死鎖牲和活功鎖時(shí)間事務(wù)T1事務(wù)T2t0LOCKR1

t1

LOCKR2t2

t3LOCKR2

t4WAIT

t5WAITLOCKR1t6WAITWAITt7WAITWAITBA蹲CK11星.4死鎖飄和活而鎖1)死軍鎖產(chǎn)崖生的括條件發(fā)生息死鎖穗的必父要條輩件有斬以下緩四條焰:①互渡斥條甜件:綁一個(gè)違數(shù)據(jù)榮對(duì)象素一次棵只能江被一串個(gè)事胳務(wù)所誰使用揭,即引對(duì)數(shù)撞據(jù)的乖封鎖掉采用鳳排它昂式;②不敗可搶駁占條洗件:狡一個(gè)零數(shù)據(jù)飯對(duì)象無只能桂被占繁有它羨的事男務(wù)所劃釋放莊,而喘不能權(quán)被別筑的事禁務(wù)強(qiáng)竟行搶陪占;③部愉分分財(cái)配條彈件:毯一個(gè)嗚事務(wù)椒已經(jīng)勉封鎖時(shí)分給呆它的瘦數(shù)據(jù)紫對(duì)象護(hù),但贈(zèng)仍然酬要求從封鎖獲其他能數(shù)據(jù)碼;④循軍環(huán)等喚待條經(jīng)件:襪允許啄等待藏其他狹事務(wù)屬釋放劈燕數(shù)據(jù)蔥對(duì)象目,系畢統(tǒng)處仿于加咐鎖

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論