Các Giao Tác Phân Tán

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 12

QUN L CC GIAO TC PHN TN Qun l giao tc phn tn nhm gii quyt mt s vn trong qu trnh truyn thng ca h phn tn nh:

: tin cy (reliabity), iu khin ng thi (concurrency control), hiu qu s dng (eficient utilization) cc ti nguyn ca h thng. Hu ht cc nghin cu v vn ny u nhm mc ch gii quyt vn mt cch r rng, c bit trong lnh vc phc hi giao tc phn tn v iu khin ng thi. Do , hiu c vic qun l giao tc phn tn l iu cn thit cho vic hiu c s lin quan gia iu khin ng thi, c ch phc hi v cu trc ca h thng. Hin nay c nhiu k thut c xut trong nhiu ti liu nghin cu v vn ny nhng li khng c ci t trong cc h thng thc. iu ny tht khng d hiu i vi nhng ngi khc qua cch trnh by ca h. Do , trong chng ny chng ta ch quan tm n cc phng php c nhiu ngi bit n, s dng trong vic xy dng cc h thng thng mi v trong lnh vc nghin cu tm ra c giao thc y thc 2 phase (2-Phase commitment) khi phc giao tc v giao thc 2 phase kha gi (2-phase locking) x l ng thi. chng 8 v 9 chng ta s tho lun su hn v iu khin ng thi phn tn v khi phc giao tc. Trong phn 5.1 chng ta s ni ti vn c bn ca vic qun l giao tc, tnh cht, mc ch v cu trc ca nhng giao tc phn tn. Phn 5.2 gii quyt vn tnh nguyn t ca giao tc phn tn v trnh by giao thc y thc 2 phase. Chng ta cng tham kho n m hnh qun l giao tc phn tn. iu ny cng c th m t bng thut ton. Phn 5.3 cp n s iu khin ng thi ca giao tc phn tn; Chng ta cng tm hiu 2 phase kha gi v tm hiu thm v s iu khin ng thi. Cui cng phn 5.4 gii thiu m hnh ca s qun l giao tc phn tn. S lin h gia hot ng ca h thng cc b v chc nng ca vic truyn thng trn mng. 5.1. Tng quan v qun l giao tc Trong phn ny chng ta nh ngha nhng tnh cht (properties) ca giao tc, mc ch ca qun l giao tc phn tn v a ra mt m hnh ca giao tc phn tn. Nhng trc tin, chng ta nh ngha giao tc l g? Giao tc (transaction) l mt ln thc hin (mt thc hin) ca mt chng trnh. Chng trnh ny c th l mt cu vn tin hoc mt chng trnh ngn ng ch vi cc li gi c gn vo mt ngn ng vn tin. C nhiu thc hin c lp ca cng mt chng trnh c tin hnh ng thi nhiu v tr khc nhau trn mng; mi thc hin ny l mt giao tc khc nhau. 5.1.1 Cc tnh cht ca giao tc chng 2 chng ta bit giao tc l mt ng dng hay mt phn ca ng dng c m t bi cc tnh cht sau:

- Tnh nguyn t (Atomicity): Tnh nguyn t lin quan n s kin l mt giao tc c x l nh l mt n v hot tc. Chnh v th m khi thc thi mt giao tc th hoc l cc hnh ng ca giao tc c thc hin hoc l khng mt hnh ng no c thc hin c. Tnh nguyn t i hi rng nu vic thc thi giao tc b ct ngang bi mt loi s c no th DBMS s chu trch nhim xc nh nhng cng vic ca giao tc khi phc li sau s c. C 2 chiu hng thc hin l: hoc n s c kt thc bng cch hon tt cc hnh ng cn li, hoc c th kt thc bng cch hi li tt c cc hnh ng c thc hin. C hai l do c bn lm cho giao tc khng c hon thnh: giao tc t hu b (transaction aborts) hoc h thng b s c (system crashes). Vic t hy giao tc c th do yu cu ca bn thn giao tc (hoc ca ngi s dng n) do mt s d liu vo sai hoc l do mt vi iu kin khc lm cho qu trnh giao tc khng hon thnh hoc khng em li kt qu tt. S hy b ca giao tc cng c th l do s p buc ca h thng bi nhng l do nh qu ti h thng v hin tng kho gi (deadlocks - giao tc c th b kt trong mt kho gi). Duy tr c tnh nguyn t khi c s c giao tc t hu b c gi l khi phc giao tc (transaction recovery), v duy tr c tnh nguyn t khi c s c h thng c gi l khc phc s c (crash recovery). S hon thnh mt giao tc c gi l u thc (commitment). Chng ta s tha nhn rng vi mi giao tc bt u bng mt lnh nguyn thu begin_transaction v kt thc bng lnh commit (u thc) hoc abort (hu b).S th hin giao tc nh hnh 5.1.

- Tnh bn vng (Durability): Tnh bn vng mun ni n tnh cht ca giao tc, bo m rng mi khi giao tc u thc, kt qu ca n c duy tr c nh v khng b xo ra khi CSDL. V th DBMS bo m rng kt qu ca giao tc s vn tn ti d c xy ra s c h thng. Tnh bn vng a ra vn khi phc d liu (database recovery), ngha l cch khi phc CSDL v trng thi nht qun m mi hnh ng u thc u c phn nh. Vn ny s c tho lun nhiu hn trong phn sau. - Tnh tun t (Serializability): Nu c vi giao tc thc hin ng thi, th kt qu phi nh nhau nu n c thc hin tun t trong cng mt th t . Tnh tun t ca giao tc a ra vn iu khin ng thi (concurrency control). Nu mt h thng c tnh iu khin ng thi, ngi lp trnh c th ghi li giao tc nh khi n thc hin mt mnh.

- Tnh bit lp (Isolation): Mt giao tc ang thc thi khng th a ra cc kt qu ca n cho nhng giao tc khc ang cng hot ng trc khi n u thc. Tnh cht ny l cn thit trong vic ngn nga s hy b dy chuyn (cascading abort-Cn gi l hiu ng domino). Nu mt giao tc cho php nhng giao tc khc s dng nhng kt qu cha hon tt ca n trc khi u thc ri sau n quyt nh hu b, khi mi giao tc c nhng gi tr cha hon tt cng s phi c hu b nu khng xu mt xch ny d dng tng nhanh v gy ra nhng ph tn ng k cho DBMS. Ch rng nu nhng giao tc c u thc ri, chng ta s phi khng thc hin chng na, nh vy l vi phm tnh bn vng ca giao tc. Vi l do ny, bit lp giao tc l mt tnh cht rt quan trng trong vic thc thi giao tc mt cch hiu qu. Th d 5.1: Xt 2 giao tc ng thi T1 v T2 cng truy xut n mc d liu x, Gi s gi tr ca x trc khi bt u thc hin l 50. T1: Read(x) T2: Read(x) x:= x + 1 x:= x + 1 Write(x) Write(x) Commit Commit Nu 2 giao tc thc hin ln lt, ta c dy thc thi cho cc hnh ng ca nhng giao tc l: T1: Read(x) T1: x:= x + 1 T1: Write(x) T1: Commit T2: Read(x) T2: x:= x + 1 T2: Write(x) T2: Commit Trng hp ny khng c vn g, giao tc T2 c c gi tr ca x l 51, v sau khi kt thc 2 giao tc, x c gi tr l 52. Tuy nhin v cc giao tc ang thc thi ng thi, dy hnh ng c thc thi nh sau c th xy ra: T1: Read(x) T1: x:=x + 1 T2: Read(x) T1: Write(x) T2: x:=x + 1 T2: Write(x) T1: Commit T2: Commit

Trong trng hp ny, giao tc T2 c c gi tr ca x l 50. Gi tr ny khng ng bi v T2 c x trong khi gi tr ca n ang c thay i t 50 thnh 51. Hn na gi tr ca x s l 51 vo lc kt thc cc giao dch T1 v T2 bi v hnh ng ghi ca T2 s ghi ln kt qu ghi ca T1. Th d 5.2: Mt th d d hiu hn c th xem x l ti khon ngn hng v T1 l giao tc c thc hin khi chng ta gi tin vo ngn hng. Gi s rng T2 l mt giao tc ang c thc thi khi v (hoc chng) ca khch hng ang rt tin ti mt chi nhnh khc. Nu xy ra rc ri nh th d trc v kt qu ca T1 b mt, khch hng s khng hi lng. Ngc li nu kt qu ca T2 b mt, ngn hng s ph sn. Th d 5.3: Xt h thng k ton ca mt ngn hng, c mt giao tc T1 chuyn $1000 vo mt ti khon hin c $0. Mt giao tc th 2, T2 c quyt ton $1000 c ghi bi T1 trc khi T1 hon tt v ghi n $1000 vo cng mt ti khon. T2 hon tt, v tin mt $1000 c chuyn cho ngi dng ngi yu cu thc hin T2. Gi s rng by gi T1 hy b v l do mt thao tc no bt hp l. Vic hy b T1 yu cu phi hy b T2, bi v thao tc thc hin bo T2 da vo cc thao tc thc hin bi T1. Tuy nhin, vic hy b T2 l khng th c v hu qu ca T2 trong th gii thc khng th c hon li bi h thng. V d ny cho thy ti sao tnh bit lp l mt thuc tnh rt cn thit. 5.1.2. Mc tiu ca qun l giao tc: Mc tiu ca qun l giao tc bao gm: tnh hiu qu, tin cy, v thc hin ng thi ca giao tc. Cc mc tiu ny c quan h cht ch vi nhau; hn na, c mt s dung ha gia chng, bi v nu chng ta c gng tha mn cng mt lc cc mc tiu trn ca cc giao tc th s c th xy ra li khi h thng hot ng. Trong nhng chng trc chng ta ni n cc chnh trong lc x l c s d liu phn tn. Nhng vn c ni n l hon ton c lp vi nhng c trng ca d liu v ng dng c yu cu. Trong cc chng ny chng ta cng xc nh r cch truy cp tt nht. Vic s dng CPU v b nh chnh: Kha cnh ny chung cho c CSDL phn tn ln tp trung. Cc ng dng CSDL in hnh thng b hn ch bi cc thao tc vo/ra d liu (Ngha l, tn nhiu thi gian ch cc thao tc vo ra d liu v thc hin cc tnh ton n gin), nn vic thc thi nhiu ng dng ng thi trong mt h thng ln s a n hin tng tht nt c chai (bottleneck) trong b nh chnh v thi gian CPU. Nu OS (operating system) phi to mt tin trnh cho mi giao tc, th hu ht chng s c chuyn vo v ra b nh chnh, rt nhiu php chuyn ng cnh c thc hin. gim thiu iu ny, b qun l giao tc p dng cc k thut c bit m da vo s thun li ca cc c tnh in hnh ca cc ng dng CSDL, ch khng xem xt chng nh cc tin trnh ni chung c x l bi OS ni chung. Thng ip iu khin: Trong CSDL phn tn chng ta phi xem xt mt kha cnh hiu qu khc: l s lng thng ip iu khin trao i gia cc v tr. Mt thng ip iu khin khng c s dng chuyn d liu nhng n cn thit iu khin s hot ng ca ng

dng. Chi ph cho mi thng ip khng nhng l chi ph vn chuyn n m cn tnh c s lnh ca CPU phi thc hin chuyn mt thng ip (*). V ci chi ph (*) ny cn phi tr ngay c trong trng hp thng ip c trao i gia cc tin trnh ti cng mt v tr. Thi gian p ng: Kha cnh hiu qu quan trng th 3, l thi gian p ng ca mi giao tc ring l. R rng, iu ny cn thit trong ng dng phn tn hn l ng dng cc b, bi v cn c thi gian lin lc gia cc v tr khc nhau. Tnh hiu lc: Trong mt h phn tn th khng th chp nhn trng hp mt s c mt mt trm no khin cho ton h thng ngng hot ng. Tm li, mc tiu ca qun l giao tc trong mt CSDL phn tn l kim sot vic thc thi cc giao tc sao cho:

Cc giao tc c tnh nguyn t, tnh bn vng, tnh kh tun t, v tnh c lp. Chi ph ca chng xt v cc kha cnh b nh chnh, CPU, v s thng ip iu khin c chuyn i v thi gian p ng ca chng l c cc tiu. Tnh hiu lc ca h thng l c cc i.

5.1.3 Cc giao tc phn tn: Mt giao tc lun l mt phn ca mt ng dng. Ti thi im khi c yu cu bi ngi dng, ng dng s pht mt lnh begin_transaction, khi tt c cc hot ng c thi hnh bi ng dng cho n khi lnhcommit hay abort c pht ra, c xem nh l mt phn ca cng mt giao tc. thc hin cc tnh nng cc v tr khc nhau, mt ng dng phn tn phi thc thi mt vi tin trnh . Chng ta gi cc tin trnh ny l cc tc nhn (agent) ca ng dng. Do , mt agent l mt tin trnh cc b thi hnh mt s hot ng no vi t cch i din cho ng dng. Cc agent phi lin lc vi nhau thng qua cc thng ip cng hp tc thc thi thao tc ton cc c yu cu bi ng dng. C nhiu cch t chc cc agent nhm xy dng cu trc ca cc tin trnh hp tc. iu ny s ni trong phn sau. Vi mc ch tho lun v tnh nguyn t, chng ta gi s rng: 1. Tn ti mt agent gc s khi ng ton b giao tc, v tr cha agent gc c gi l v tr gc ca giao tc. 2. Agent gc chu trch nhim pht cc lnh begin_transaction, commit v abort. 3. Ch c agent gc mi c th yu cu vic to ra mt agent mi. Pht biu nguyn l quan trng nht rt ra t v d: Cc lnh begin_transaction, commit v abort c pht bi agent gc ca mt giao tc phn tn khng cc b; chng nh hng n tt c cc agent ca giao tc . 5.2. S H TR NGUYN T CA CC GIAO TC PHN TN.

Vic thc hin nhng lnh ton cc begin_transaction, commit v abort phi c thc thi nh vic thc hin mt tp cc hnh ng cc b thch hp ti cc v tr m giao tc phn tn c thc hin. xy dng mt qun tr giao tc phn tn thc hin y cc s cp trn cho cc giao tc phn tn, tht thun li gi nh rng ti mi v tr chng ta c mt qun tr giao tc cc b (LTM) c kh nng thc thi cc giao tc cc b. Bng cch ny chng ta tn dng cc k thut v cc h thng hin nay cho vic thc thi cc giao tc khng phn tn. Cho nn, chng ta xem li vn tt cc k thut phc hi chnh c s dng bi cc qun tr giao tc khng phn tn v qun tr giao tc cc b v sau cho thy mt qun tr giao tc phn tn c xy dng nh th no. 5.2.1 S phc hi trong cc h thng tp trung Cc c ch phc hi c xy dng cho php s tr v cc thao tc thng thng ca mt h c s d liu sau khi c li xy ra; Nh vy, trc khi tho lun v s phc hi, chng ta phi phn tch cc loi li c th xy ra trong mt c s d liu tp trung. 5.2.1.1 M hnh cc s c trong cc c s d liu tp trung: T quan im v s phc hi cc b, c tnh quan trng nht ca cc li l s lng thng tin b mt do li. V vy, trong vic phn loi cc li chng ta xem xt thnh phn b nh v mt bn cht. T quan im ny, cc li c th c phn loi nh sau: 1. Cc s c khng lm mt thng tin: Trong cc li loi ny, tt c cc thng tin c ct gi trong b nh l c sn cho s phc hi. Cc li loi ny bao gm, v d nh, vic hy cc giao tc v mt iu kin li b pht hin, nh li trn s hoc li chia cho zero. 2. Cc s c c mt thng tin tm thi: Trong cc li loi ny, ni dung ca b nh chnh b mt; tuy nhin, tt c cc thng tin c ghi li trn cc a khng b nh hng bi li. in hnh cc li loi ny lm ph hy h thng. 3. Cc s c c mt thng tin lu tr: Cc li loi ny, c gi l cc li mi trng, ni dung ca b a lu tr cng b mt. in hnh cc li loi ny lm ph hy u t a nng. Xc sut xy ra cc li loi th 3 t hn so vi hai loi li kia. Hn na, c th to xc sut xy ra cc li loi th 3 nh ty bng vic to bn sao thng tin trn vi a c cc phng thc li c lp. Hai a c cc phng thc li c lp nu xc sut xy ra li ca mt trong hai a khng ph thuc vo tnh trng hot ng ca a kia. y l tng c bn cho s pht trin b lu tr n nh. B lu tr n nh l b lu tr trung gian d phc hi nht c sn trong b nh. B lu tr n nh c thc thi tiu biu bng vic to bn sao thng tin tng t trn vi a vi cc phng thc li c lp v s dng ci gi l chin lc thay th thn trng; ti mi thao tc cp nht, u tin mt bn sao thng tin c cp nht, sau s chnh xc ca vic cp nht c kim nh, v cui cng bn sao th hai c cp nht. Vic gii thiu b lu tr n nh gip chng ta c th a ra mt loi li mi:

4. Cc s c c mt d liu lu tr n nh: Trong cc li loi ny, nhiu thng tin c cha trong b lu tr n nh b mt do vi li loi th 3 xy ra ng thi. Mc d chng ta c th to xc sut cc li loi th 3 nh ty bng vic s dng nhiu bn sao v nhiu chin lc thay th thn trng hn nhng khng th lm gim xc sut ny xung zero. 5.2.1.2 Nht k (logs): K thut c bn cho vic thc thi cc giao tc khi c s c da trn vic s dng nht k. Mt nht k bao gm thng tin cho vic hy hoc lm li tt c cc hnh ng c thc hin bi cc giao tc. Hy cc hnh ng ca mt giao tc c ngha l xy dng li c s d liu trc s thc hin ca n. Lm li cc hnh ng ca mt giao tc ngha l thc hin li cc hnh ng ca n. Trc khi xem cch thc nht k c thc thi, chng ta hy n li l do ti sao thnh thong cn phi hy hoc lm li cc hnh ng ca cc giao tc. S cn thit ca vic hy cc hnh ng ca mt giao tc l tht bi trc khi s y thc l r rng; bi v cc giao tc l nguyn t, nu nh s y thc l khng th xy ra th c s d liu phi gi li nh c nu nh giao tc khng c thc thi mt t no c; v l do cc hnh ng cc b phi c hy. hiu c s cn thit phi lm li cc hnh ng ca mt giao tc, chng ta c th xem xt mt li lm mt b lu tr linh ng (li loi 2). C th l khi li xut hin nhiu hnh ng c thc hin bi giao tc c y thc ri cha c ghi vo b lu tr n nh (v d chng hn cho vic mt b lu tr linh ng c th bao gm vic mt cc b m c ghi vo b lu tr n nh). Trong trng hp ny, c ch phc hi phi lm li cc hnh ng ca giao tc c y thc m bo rng nhng hnh ng ny u c lu gi trong c s d liu. Ch rng cc hot ng hy v lm li phi c thay i gi tr, tc l, vic thc hin chng nhiu ln s tng ng vi vic thc hin chng mt ln. V vy, UNDO(UNDO(UNDO((hnh ng)))) = UNDO(hnh ng) REDO(REDO(REDO((hnh ng)))) = REDO(hnh ng). c im ny c yu cu bi v qui trnh phc hi c th tht bi v c khi ng li nhiu ln. Hn na, c im ny rt thun tin, bi v chng ta khng cn bit liu c mt hnh ng m chng ta mun hy hoc lm li sn sng c thc hin hay cha.

Mt bn ghi nht k bao gm thng tin c yu cu cho vic hy hoc vic lm li cc hnh ng. Bt c mt giao tc thc hin mt hnh ng no trn c s d liu th mt bn ghi kha c ghi vo mt file nht k. Mt bn ghi nht k bao gm:

nh danh ca giao tc. nh danh ca bn ghi.

Kiu hot ng (chn, xa, sa i). Gi tr bn ghi c (dng hon li thao tc). Gi tr bn ghi mi (dng thc hin li thao tc). Thng tin ph dng cho th tc phc hi.

Hn na, khi mt giao tc c khi ng, c y thc, hoc c hy, mt bn ghi giao tc ban u, c y thc, hoc c hy c ghi vo nht k. Vic ghi li s cp nht c s d liu v vic ghi li bn ghi nht k tng ng l 2 hot ng khc bit nhau; v vy, mt li c th xut hin gia chng. Trong trng hp ny, nu vic cp nht c s d liu c thc hin trc khi c ghi vo bn ghi nht k th qui trnh phc hi s khng th hy vic cp nht; bn ghi nht k tng ng trn thc t l khng c sn. trnh vn ny, giao thc log write-ahead c s dng, n bao gm 2 nguyn tc c bn sau: 1. Trc khi thc hin vic cp nht c s d liu, ti thiu vic hy phn bn ghi nht k tng ng phi c lu gi trong b lu tr n nh. 2. Trc khi y thc mt giao tc, tt c cc bn ghi nht k ca giao tc phi c lu gi trong b lu tr n nh. 5.2.1.3 Cc quy trnh phc hi Khi mt s c c mt thng tin tm thi xy ra, quy trnh phc hi c file nht k v thc hin cc thao tc sau: 1. Xc nh tt c cc giao tc cha hon tt cn phi hon li. Cc giao tc cha hon tt c nhn ra bi v chng c mt lnh begin_transaction ghi trong file nht k, khng c mt bn ghi commit hoc abort. 2. Xc nh tt c cc giao tc cn thc hin li. Theo nguyn tc, tp ny gm tt c cc giao tc c mt bn ghi commit trong file nht k. Trong thc t, hu ht chng c lu tr an ton trc khi b s c, do chng khng cn phi thc hin li. phn bit giao tc no cn lp li, giao tc no khng cn, ta s dng cc im kim sot (checkpoints). 3. Hon li v lp li cc giao tc trn. Cc im kim sot l cc thao tc c thc hin nh k (vi pht) n gin ha 2 bc u tin ca quy trnh phc hi. Thc hin mt im kim sot yu cu 2 thao tc sau:

Ghi vo lu tr n nh tt c bn ghi nht k v tt c cp nht CSDL hin ang nm trong b nh tm thi. Ghi vo lu tr n nh mt bn ghi kim sot. N cha thng tin biu th cc giao tc ang hot ng ti thi im im kim sot c thc hin xong (mt giao tc ang hot ng nu n c bn ghi begin_transaction trong log nhng cha c bn ghi commit hay abort). Khi c im kim sot, bc 1 v 2 c vit li nh sau:

Tm v c bn ghi kim sot cui cng. t tt c cc giao tc c ghi trong bn ghi kim sot vo tp undo, tp redo ban u l rng. c file log bt u t bn ghi kim sot cho n khi kt thc. Nu mt bn ghi begin_transaction c tm thy, t giao tc tng ng trong tp undo. Nu tm thy mt bn ghi commit, chuyn giao tc tng ng t tp undo sang tp redo.

Vic tho lun cc im kim sot trn cho php chng ta xem xt cc mt khc ca nht k. Theo quan nim, mt nht k cha ton b lch s ca c s d liu. Tuy nhin ch nhng phn mi nht cp n cc giao tc c th b hy hoc c lm li. V vy, ch phn mi nht ny ca nht k phi c gi trc tuyn, trong khi phn cn li ca nht k c th c gi trong b lu tr ngoi tuyn (dng bng t). Cho ti nay chng ta ch mi xem xt s phc hi do cc li khng lm mt b lu tr n nh. Bi v, s kin ny sau ny cng c th xy ra, cc k thut phc hi cng tng pht trin cho trng hp ny. iu thun tin phn bit 2 kh nng ny l: 1. Cc li lm thng tin c s d liu b mt nhng nht k th khng b mt. 2. Cc li lm thng tin nht k b mt. Trong trng hp u tin, k thut phc hi c bn bao gm vic thc hin thao tc lm li ca tt c cc giao tc c y thc s dng nht k. Vic lm li c thc hin sau khi c s d liu c xc lp li mt kho tm thi, l nh ca trng thi trc c cha trong b lu tr ngoi tuyn. Trong trng hp th hai, bi v thng tin nht k b mt, v mt tng qut chng ta khng th khi phc hon ton trng thi c s d liu gn y nht, v v vy tnh bn vng ca giao tc b thay i. S kin th thm ny s khng bao gi c xy ra trong cc h thng no (chng hn nh h thng ngn hng). Trong trng hp ny, trng thi lu nht c thit lp li, bng vic xc lp li c s d liu t kho tm thi cui cng v bng vic p dng phn b hng ca nht k. Chng ta s khng xem xt s phc hi tp trung chi tit hn na. Cc nguyn tc c bn chng ta thy cho php chng ta hiu cc vn phc hi. Tuy nhin, trong thc t s thc thi vi c ch khc ca cc h thng c s dng cho vic lm gim gi thnh v lm tng s thc hin ca ton b tin trnh phc hi. 5.2.2 CC S C TRUYN THNG TRONG C S D LIU PHN TN Trong phn 5.2.1.1 trc, chng ta kho st cc s c c th xut hin ti mi v tr (c gi l cc s c v tr). C ch phc hi cho cc giao tc phn tn cng i hi vic hiu cc s c c th xut hin trong cc truyn thng gia cc v tr. Trong phn ny, chng ta phn loi cc loi s c truyn thng chnh v ni r cc kt lun c bn trn mng truyn thng lin quan.

Khi mt thng ip c gi i t v tr X n v tr Y, nhng yu cu vi mng truyn thng: 1. X nhn c mt thng ip ACK trc khi ht hn tr (DMAX). Sau mt khong thi gian DMAX, nu X khng nhn c mt ACK, th X khng th bit c liu thng ip c c chuyn hay cha. Trong trng hp ny, c th l thng ip gc b mt hoc ACK b mt. 2. Thng ip c chuyn n Y phi ng th t i vi cc cp thng ip X-Y khc. 3. Thng ip l chnh xc. C s khc bit ln trong lu c t trn ca cc li c th xy ra nh, thng ip c th khng chnh xc, thng ip c th b hng, X c th khng nhn c thng bo nhn c vi cc thng ip ang c chuyn i, X c th nhn c thng bo nhn c m khng c thng ip no ang c chuyn i. Hu ht cc mng truyn thng u c kh nng loi tr phn ln cc li ny, do chng ta c th kt lun nh sau: 1. Nu mt thng ip t X n Y c chuyn n Y th thng ip chnh xc v c ch n trnh t cc thng ip X-Y khc. 2. Nu X nhn c mt thng bo nhn c th thng ip c chuyn i. Tuy nhin cn ch rng, nu sau mt tr DMAX, v tr X khng nhn c thng bo nhn c th X c th khng bit liu thng ip c chuyn i hay cha. iu ny khng chc chn do trong thc t thiu mt thng bo nhn c c th mun ni 2 iu: Hoc thng ip gc b mt (khng c chuyn i), v do khng thng bo nhn c no c tr li; hoc thng ip gc c chuyn i nhng thng ip thng bo nhn c b mt. Mc du iu khng chc chn ny rt bt li, nhng khng c cch n bng mt giao thc c hn, vi mt giao thc yu cu s lng thng ip c hn v kt thc trong mt thi gian c hn. V vy, X s c gng gi thng ip vi s ln c hn v sau kt lun rng mng truyn thng hoc im Y b s c. Vi cc mng truyn thng hin i c kh nng nh tuyn cc thng ip, th nu X khng lin lc c vi Y nhng c th lin lc c vi Z, th Z cng khng th lin lc c vi Y. Lc ny, mng b phn on thnh 2 hay nhiu mng con hon ton khng lin thng. Vic gii quyt phn on mng l kh phc tp so vi gii quyt vic mt thng ip hay v tr s c. Chng ta c th tm tt vic tho lun trn theo cch sau: C 2 loi li truyn thng c bn c th xy ra: thng tin b mt v cc phn on. Khi mt v tr X khng nhn c mt thng bo nhn c ca mt thng ip t v tr Y trong mt khong thi gian xc nh trc, X khng c m bo theo nhng iu sau y: 1. Phi chng c phi mt li xut hin, hay n gin h thng chy chm? 2. Nu mt li xut hin, l mt li truyn thng ca n, hay mt s c v tr Y? 3. Thng ip c chuyn n Y hay cha?

Vic tr li cu hi 3 khng tin cy bng vic tr li cu hi 2, ti v hoc l s c truyn thng hoc l s c v mng c th xy ra trc hoc sau khi pht thng ip. S phn chia cc phn vng mng l kh hn s phn chia nhng s c v tr hoc nhng thng ip b mt. May thay, s phn vng trong nhiu mng my tnh l t xy ra thng xuyn hn nhng s c v tr. V th, nhiu mc ca nhng thut ton tin cy c th c thit k m n c kh nng phn chia nhng s c nh di y, ph hp vi mc kh tng dn

Lp 1: Ch c nhng s c v tr. Lp 2: Nhng s c v tr v thng ip b mt, nhng khng c s phn vng. Lp 3: Bao gm c s c v tr, thng ip b mt v c nhng s phn vng.

Nhng thut ton ca lp 1 xem nh mng truyn thng tin cy hon ton v phn chia nhng s c v tr di s tha nhn ny. Do vy, nu s c truyn thng xy ra, h thng s chy khng ng. 5.2.3. KHI PHC CC GIAO TC PHN TN By gi chng ta c th xem xt vn khi phc trong mt c s d liu phn tn. Gi s ti mi v tr c mt b qun l giao tc cc b (LTM). S dng LTM ti mi v tr phc hi cc b. Mi tc nhn c th pht lnh begin_transaction, commit v abort cho LTM ca n. Sau khi a ra lnh begin_transaction cho LTM, tc nhn s chim nhng thuc tnh ca mt giao tc cc b. Chng ta gi tc nhn ny l mt giao tc con (subtransaction). Vi mc ch xy dng s qun l giao tc phn tn (DTM), chng ta cn qun l giao tc cc b (LTM) c nhng kh nng sau: 1. m bo tnh nguyn t (atomicity) ca mt giao tc con. 2. Ghi mt s bn ghi vo lu tr n nh vi t cch l i din cho b qun l giao tc phn tn. Chng ta cn kh nng 2 v trong s thc thi mt DTM, mt s thng tin a vo (nhng dng mi ca bn ghi nht k) cng c ghi li theo mt cch m n vn cn s c. Cc tc nhn tham gia thc hin giao tc phn tn l cc giao tc con cc b v chng khng m bo cc c tnh ca mt giao tc phn tn. Ni cch khc, cc b qun l giao tc cc b cung cp tnh nguyn t(atomicity) cho cc giao tc con nhng khng cung cp tnh nguyn t cho giao tc mc phn tn. Do , m bo hoc tt c hoc khng c giao tc no ca mt giao tc phn tn c thc thi, yu cu 1. Ti mi v tr hoc l tt c cc hnh ng c thc hin hoc l khng c hnh ng no c thc hin. 2. Ti tt c cc v tr cn phi phi quyt nh nh nhau i vi y thc (commit) hoc hy b (abort) ca nhng giao tc con (v thc ra phi c kh nng thc hin n).

Thc trng ca vic qun tr giao tc cc b, mc d t n khng c kh nng cho vic thc thi mt giao tc phn tn, nhng rt hu ch ti v n cho ta thy tp trung vo vn c bit ca vic qun l giao tc phn tn, ngha l tt c vic qun l cc b quyt nh nh nhau, v n khai thng cho chng ta t bi ton thc thi s quyt nh ny ti mi v tr.

You might also like