Co irng dung yeu cau viec c~p rihat phai thuc hien voi thai gian rat ngan.. ciing co irng dung cho phep viec c%p nh at vo'i thai gian d 'oc thuc h ien Hiu o'n.. Nhieu irng dung chi doi h
Trang 1T -p chi Tin h9C va Di ' eu khi€ h9C, T 17, S.1 (200 ), 40-45
NGUYEN DIN THUAN
Abstract. Applications that rely on replicated data have different requirements for how their data is
managed Some applications may require that u dates propagate amo gst replicas with tg t time con-straints, whereas other applicatio s may be able to tolerate lo ger pro agato delays Some applictions only require replicas to interoperate with a few centralz d replicas for data synchro ization purpose, while other applicatio s need communication between arbirary replcas This paper describes two approache to replicated data management The first approach is based on the concept of aggressive replicatio by causal message delivery, while the second approach uss the co cept of history maintenance using log maintenance techniques
T O I ll t~t Nhirn trn du ng s13:dung dir lieu nh ieu ban sao co nh irng yeu c'au kha nhau d i vo'i each quan
ly d ir lieu Co irng dung yeu cau viec c~p rihat phai thuc hien voi thai gian rat ngan Tron khi d lai co rih irng img d n ch ph ep c~p nhat vo'i th 'i gian l u ho Mot sO' img durig lai chi doi hoi c~p n h at tren mot v ai ban sao vo'i muc dich dong bi?dir leu, nhung mot sO'ung dung khac din vi~c truyen tin giira ca bin sao n ao do Bai bao mo tl.hai phtro'n p ap qudn lydir li~u nhieu bin sao
1 MC>'DAU
Tro g c ac iing dung co su: dung dir l~ n ieu bin s ao ( y cac vi trf tren man tuy theo muc teu
m a co the' co nhieu e ch q an ly khac nhau Ching han, co in d n yeu cau vie c%p nh%t phai
thu'c hien v ithai gian n h nhat ciing co irng dung cho phep viec c%p nh at vo'i thai gian d 'oc thuc
h ien Hiu o'n Nhieu irng dung chi doi hoi thao tac c%p nh at tren m<:,>tvai ban sao voimuc dieh d ng b9 dir lieu, nlnrn co lin d un din phai c%p nh at tren mot so hro'n rat Ian cac ban sao N goai ra,
tu theo S Ir dung d9 giu'a cac dir lieu khi c%p nh%t ma co ca ky thu%t giai quyet khac nhau
De' dim bao tinh n i quan cii a dir lieu khi c ap nh at v 'i yeu diu th i gian khorig qua han hep,
ch ung ta co the' dung nghi thii truyen giao 2pha (2PC: Two-Phase Commit) hoac nghi thtrc truyen
giao 3 pha (3PC: Thre -Phase Commit) [6] Trong cac thuat toan nay, khi moi vi tri tren rn ang can
cap nh at thi glii ch tat dc ac vi trikhac tren m ang , sau khi nh an diro'c cac thong tin tu' cac vi tri
nay thl neu tat c deu d ng y thl m6i c~p n hat neu co it nhat 1 vi tri chua sin sang thl chua c%p
nh at Th at toan nay lucri dim bao tinh n fi q an dii li~u, tuy nhien se g~p kho khan khi so bin sao la kh a lori hoac co ducng truyen xa hoac co mot vi trinao do trong ch ung la chtra sin san D5i vo'i each tiep c n Ian truyen dii'lieu, trong [2] cac tac gii da dua ra giii phap thiet ke di'eu
khien dir lieu t~p trun Trong [3] cac tac gii cung cap giii ph ap quan ly Ian truyen cc E-mai
Tro g bai nay chiing toi trinh bay va d anh gia thuat toan c~p nh St dir lieu n hieu ban sao bhg ech
d ng thai n han, goi la thuat toan c%p nhat Ian truyen Thuat toan nay rat co hieu qua khi so ban sao cu a dii: li~u rat 1 'n va viec cap nhfit c n phai thuc hien trong thai gian ng1in
2.1 Thu at t.oan 1
Tu: tu'ong cua th ~t toan nay nhir sau: Gi su: D la CSDL chia s , Khi m vi tris c n c~p
nhat don vi dir li~ d E D , n se gan mot thai nh an t cho d. Khi 2 vi tri lien lac voinhau, chung
se so sanh cac thai nh an cua cac do'n vi d ir lieu trong D. Neu vi tri nao c6 den vi dfr lieu diro'c cap
Trang 2THUAT T oAN CAP NHAT LAN TRUYEN T RaNG co ' so DU - LIEU NHIEU BAN SAO 41
nhat sau (c6 thai n han Ion h n], thl d se dtro'c gl sang may kia d~ c%p rihat,
Khi mot vi trf din c%p nhfit don vi d iTli~u d, thl tao ra tien trlnh Xl.l: ly Ian truyen viec c%p nh St
va khi mot vi trf khac n hfin biet d u' cc c6 cap nh at cling se thu'c hien viec Ian truyeri c~p nh at M~t khac, neu mi?t vi trf S1 (da c~p nh~t d ) ket n i vo iS2 v a biet rbg S2 da c%pn h at d thl kha n ang
Ian tuyen cua s1p ai giarn di
G<;>iu(d) la th ao tac cap nh at d, cac vi trf ten mang duo'c ph an 16'p th anh cac tr ang thai nhir sau:
- Trang thai 1 [chu-a c%pn at] la tr ang thai chu-a t n n han biet thao tac u(d)
- Trang thai 2 (Ian truyen]: la tran thai da thu'c hie thao tac u(d) va dang Ian truyen thao tac u(d).
- Trang thai 3 [khcn can Ian truyen]: la trang thai da thtrc hien thao tac u(d) va khong can
Ian truyen u(d) nira
'I'huat toan 1rihir sau:
- Mi?t vi tf 6' tr ang thai 1chua c%pnh%t), neu diro'c Ian truyen thao tac u(d) thl se chuye n sang trang thai 2 (Ian tr uyen ch vi t ikhac] ,
- Mi?t vi t i6' tr ang thai 2 (Ian truyen] se l~p lai vi~c noi ket ngiiu nhien voicac vi tr i kh ac tren m~ng v a Ian truyen thao tac u( d),
- Mot vi trf 6' tr ang thai 2 (Ian truy'en}, khi tien hanh ket noi g~p vi tri6' trang thai 2 ho~c trang thai 3 (da cap nh%t xong va khOng can Ian truyeri}, vo i xac suitt p cho truoc, se chuyen sang trang thai 3, [Xac sufit p tiry thuoc VaG di? ri?ng cua mien Ian truyen ma cho Ian truyen nhanh hay lau]
Trong Thuat toan 16' tr en , chung ta da xet truo ng hop do n gilm la chi tien hanh thao tac c%p
nh at la ghi chong len don vi dir lieu d tai moi vi tri, trong d6 cac thao tac din c%p nh%t d co thoi
n an n ho hon deu bi b o qua, Ch ng h an,neu U2(d) c%p nhat u1(d) thl khong c6 mi?t vi trf n ao thuc hien thao tac udd) sau khi da nhan u2(d) , Tuy nhien , trong tru'o ng ho p thao tac c%p nh~t chi la
sii'a d5i diTlieu thl u1(d) phai du'<;>'cthuc hien ten tat cc\ c ac vi tr itrurrc khi thuc h ien u2(d) f)~ cho thu' t\!' cu a tat d cac bin sao diro'c nhitt quan , moi vi tr i can ghi lai qua trmh thuc hien viec c%p n h at, (history) cua mln trong s5 ghi (log), Moi log la danh sach c6 thtr t\!'cac bin ghi, moi bin ghi ung voi 1 su:kien c%p nh%t, f)~ minh hoa thu%t to an nay, ta xet khai niern vecto: tho'i nh an va
ma tr%n thoi n han n hi sau:
6 2 0 0
6 2 3 3
o 23.3
o :2 3 3
4
Vi du ve ma tr%n tho'i nhan
Trang 3NGU Y EN Di N H TH UAN
Dirih n hia 1 Ch S1, S2, ,Sn la cacVitrf tren man o
- V6-i m6i v tri ita g i ma tran thai n an la ma tran (T i) ) cap nX n trong do Ti) la so message
chira thao t ac c p nhat ct a vi tri i nhan duo'c tir vi tri ] voi i, ] = 1, ,n
D!nh nghia 2
- Ta ki hieu L [ e ] th ch L[Index(e)
Dirih nghia 3 (Ye tinh n at quan cua c ac s6 ghi)
Ch e la su k ien diro-c cap nhat dau t en tai vi tri s , khi do voi m6i vi tri] = 1, ,N va m6i su:
kien t ,ta co:
f EL, [e] {} f EL )[e]
Khai bao moi ban ghi su kien tron log gom 3 thanh p an:
o operatio ;
time;
{Vi tri dau ten thuc hien viec c ap nh at}
{Thai nhan gan ch su kien c p n hat nay} End;
Var Count: in ger; {Bien dem so S 1).·kien dtro ctao r a tai vi tri hien h anh ]
Min TS: Array [ 1 N, 1 N] of Time;
{Min T [q]: c~n d u'oi cua th i nhan 16-n nhfi trong Lq}
Stabe: Array[1 N] of integer;
[St ablejc] so su kien nhieu nhat du'o'c tao ra b 'i q ma
tat d cac vi tri khac da nhan]
Thu~t t.oan 2.1
Khi m vi tri th uc hien thao tac cap nhat don vi dir li~u u, truo'c het vi tri nay ghi thao tac
vao log cii a no
Min,T [ Current] [Current] :=Count;
ew(e);
e o := u ;
e t := Mi n T [Current];
e.s:=Current;
Appen e vao L ;
end;
'I'huat toan 2.2 (Lan truyen cap nhat lo )
Khi vi trip Ian truyen lo den vi trf q, thl p chi can g ·i cac S 1).·kien ma q chua co tro g lo Neu
la su' kien d o c tao ra tai vi tri r. Khi d6 su kien e duoc gl'ri cho q neu Min_TS[q][r <k.
Trang 4TH U AT TOA N C AP NHAT LA N TRUYEN TRO NG C O ' SOmr LI EU N HI EU BAN SAO 43
Procedure Send_Log(q);
Begin
Khoi tao L' : = 0;
VeE L sao ch Min_T [qlle.s] <e.TS[e.s] thi Append eVaGL' ;
GU'iL' ch q;
Gui Min_TS cho q;
end;
'I'huat t.oan 2.3 [Nhfin duoc Ian truyen log va tien hanh c~p nhat]
Procedure Receive.Log ip]
Begin
Nhan L' ti p;
Nhan Min,TS tirp;
VeE L' neu ef/: L thi Apend e VaGL
For k : = 1 to N {Cap nhfit cac thai nhan]
Min.T'SjCurrent] [k]=Max(Min_TS[Currentllk], Min_T [pllk]
For i: 1 to N v a i < Current {C~p n h at cac c~n d iroi thai nhfin ]
For J: = 1 to N
Min_TS[][J] :=Max(Min_TS[]!f], Min,T [][JI
For i=1 to N
Stable[ :=Min(Min_TS[I][i]' , Min_TS[Nlli
end;
Nhiin xet , Viec Ian t uye n dir lieu tro g Thuat to an 1tuo'ng tu n htr mo hlnh so IU'O'n qulin th duo trii v a so lu:q g quan th€ da s~· d ung tro g sinh hoc Tro g do ap dung Mo hinh 1'oan hoc ch
Sinh thai hoc (theo [4], neu goi:
Coi 5 la ty Ie so vi tri 6'trang thai 1 [chua diro'c c~p nhat) tu'crig ung vo'i so ltrorig quan th€ duo tr ir
Goi 1la ty I~ so vi tri 6'tr ang thai 2 (dan Ian truycn] tu'on u'ng v iso hro'n qufin th da su: dung Khi do qui lu~t bien thien cua 5 v a 1theo t diro'c mo hinh theo cac plurong trlnh vi phan sau [4]:
{ ss
- = -51
dt d1 =51- (1-5)1
(1) (2)
Pluro'ng trinh (1) noi len mot vi trf se d tran thai 1se chuye n sang tr ang thai 2khi co mot vi tri 6' tr ang thai 2 noi ket voino
Tro g phuo g trlnh (2), so vi tri d trang thai 1chuye n thanh trang thai 2 va so vi tri 6'tang
thai 2chuye n thanh tr ang thai 3neu cluing noi Ht vo'i 1 vi tr i khong phai tr ang thai iv i xa suitt
1 k. Tham so k nhilm dieu khdn th i gian Ian truyen
Drnh ly 1 Khi ap d1!-ng Tiuuit i o t n. 1ae '" ciip nh¢t Ian truyen tren, theo th(h gian t thi so message
tr ur i q binh can truy n gi i:acdc vi tri la tuyen t nh theo k.
cho aen ca vi tri kh ac cho aen khi noi ket vo'i mot so vi tri d tran thai 2 Mot vi tri se tr6' th anh
tr ang thai 3 voi xac sufit I k khi cluing noi ket voi mot vi tri tr arig thai 2, v a se tro: thanh trang
thai 3 sau khi noi vo'ii vi tri 6'tr ang thai 2vo'i xac suf (1 - k ) l ( 1 k ) Do do, so message trung binh la:
Trang 5[ 00 ( .i.
= N (1 - S)(k +1)
Nhtr v%yso lu'ong them v a ciia S J! ·Ian truyen tren la tang theo liiy thira k, tuy nhien so trung binh la tuyen tfnh theo k
Djnh ly 2 Th uiit to t in 1s e - Ia n tr uyen t o t k i i: biI t aiiu khd ' i to o vi1c I an tr u ye n va se- kh ong to t kh i
p lidi c tip n ¢t mot so v~ i r i c u i c unq.
Chu'ng minh, Tu' h~phiro ng trlnh (1)(2) 6·tren ta co:
Gi<liphuong trlnh (3) , ta dtro c:
D~ tlm C ta chon mot tr ufrng hop d~c bi~t tro g dieu kien ban dau la toan bi? c ac vi trf deu 6·
tr ang thai 1, voi S = 1v a I = 0, the VaG(5) ta co:
Hay:
I ( S ) = In(S) +(1_ S ) k +1
Hieu qua cu a Th uat toan 1 dtro cdo b6-i so vi trichu-a ducc 6·trang thai 2 khi viec Ian truyen
da ket thuc (nghia la 1 = 0, hau het cac vi tri 6· trang thai 3) va t5ng somessage da gti: Chung ta
co th~ tfnh d 'oc phan con lai S la ty l~ cua cac vi trf chua diro'c c~p nhat Gi<l.ipluro ng trlnh (7)
vo'i I= 0, ta dtroc:
So (k) = e -(k + 1 )( 1 - S)
~ e- ( k+1)
Theo tr en, so lu'o ng them VaG cu a S J · Ian truyen treri la tang theo liiy thira k , tuy nhien, so
trung blnh la tuyen tfnh theo k. Ta xet them truo ng hop thay d5i tham so Ian truyen tu: k thanh
k +1
Ta co, so cac vi trf cr tr an thai 2 khi tan k len 1dtro c tinh nhir sau:
N(So ( k + 1) - So ( k )) ~ N( e - (k +2) - e - k + 1 )
=N ( ~ - l) e-(k+ 1 1
V~y so message can thiet de'Ian truyen den c c vi trf moi tang theo liiy thira v i c ac vi trf du'o'c them vao Do do, thuat toan Ian truyen nay tot khi bitt dau khci tao phan tan (k = 2s co 9 % so
vi trf du'o'c Ian truye n}, tuy nhien thudt to an nay se khong tot khi ph ai c%p nh at mi?t so vi trf cudi
cling
Dmh ly 3 Th s u it tot i ti 2 i l d m bdo t i nh chat nhat qiuin cua c dc 5 5 gh i g i v:a c dc vi tri.
C hung m i nh Gi<lsti· r~ng su kien e dtro'c thuc hien dau t entai vi trf p va Ian truyeri den q, khi do
e diroc ghi VaG s5 ghi L " cu a p theo Thuat to an 2.1 Ngoai ra, tat d cac SJ!.· kien la nguyen nhan
tr u'o'ce deu co trong 55 ghi cua p theo Thudt toan 2.2, khi Ian truyen sang qthl tat ca cac su' kien
nay se dtroc Ian truye n san q theo Thuat toan 2.3 Sau do neu e da diro'c Ian truyen tiep tuc t.ir p
h ac q thl tat ca cac S J!.· ki~n tr u'o'c e deu co trong 55 ghi va nhir vay chung cling diro'c Ian truyen
kern theo c ac tham so cua ch n
Trang 6THUAT T OA N CAP NHAT LAN TRUYEN TRaNG c o ' so nt r LIEU NHIEU BAN SAO 4
4 KET LU~N
Trong bai bao nay ch ung toi dii.gi&i thi~u va danh gia thu%t toan Ian truyen Tuy clnra darn
bao tin h nhfit quan dir lieu tai m6i thai di~m rat gan, tuy nhien Th uat toan 1 rat hiru hieu to g
trirong ho p so ban sao la rat Ion va cac vi trf tren m ang khOng phai luc n ao cling sRn sang N goai
r a, so mesage can thiet df Ian truyen den cac vi tri m&i tang theo liiy thia voicac vi trf duo'c them vao nhung chi phi la tuyen tinh Thuat to an 2 bao d arn tinh nhfit quan dir lieu, cac s5 ghi va tat d
vi tri dtro'c Ian truyen , tuy nhien so message phai truye n la kh a l&n Van de con mo' c6 thf lam toi
U ' U h ai th at to an ten la can Ian truyen theo chieu nao Mhieu qua ho n
Lo'i earn on
Toi xin chan th anh earn an GS Nguyen Dlnh Ngoc va PGS Nguyen Xufin Huy di c6 nhirng
g i y dinh hu'orig quan trong cho toi nghien ct'u thuat roan, xin chan th anh earn on TS Ngo Quoc
Tao di.tan tinh gop nhirng y kien qui bau giup toi hoan thanh bai bao nay
[2 A Raikar , C L Sun, M Guduru, W Tu, Eoa l uatioii and Comparison of Replicated Data
[ 3 D.B Terry, K Petersen, M Spreitzer, M Theimer, The case for non-transparent replicatio ,
[ 4 ) Iu M Xviregiev, C t ic mo hinh totui hoc trong sinh thai h c, Nh a xuat ban Khoa hoc v a Ky
thuat, Ha Ni?i, 1988, trang 26-85
[5 Ausubel J and Marchetti C Elektron, P opulation Growth Algorithm, Elsevier Science Inc.,
New York, 1996, URL http://phe.rockefeller.edu/Bi-Logistic
[6 R Chow, J Johnson, Distributed Operating System & Algorithms, Addision Wesley Longman,
1997
[7 T Ozsu and P Valdurer, Principles of Dist r ibuted Databa s Systems, Prentice Hall, 1992