Upload
van-phuc-nguyen
View
231
Download
8
Embed Size (px)
Citation preview
8/3/2019 Cu trc Chord
1/4
1.1. Cu trc Chord
Chord l mt trong nhng mng
DHT ph bin nht, vi nhng c im
ring mang tnh u th ca mnh. Haitrong s nhng c im ca Chord khng
th khng k ti l kh nng tm kim
d liu nhanh v cn bng ti gia cc nt.
Mt c im ca mng DHT d
nhn thy Chord l s phn pht kha
tng i ng u vo cc nt trong
mng. y chnh l h qu ca vic s
dng k thut consistent hashing cpkha cho cc nt. Phng thc hnh thnh
kha ph bin nht thng c dng l
bm gi tr ca d liu to thnh kha. Gi tr ca d liu y c th l a ch, tn
ti liu, nhng t xut hin nhiu trong mt vn bn, ni dung vn bn , Mi loi gi
tr d liu c nhng c im khc nhau, ty tng trng hp m gi tr no c s
dng sao cho ph hp vi ng dng nht. S phn b kha trong giao thc Chord thng
i km vi d liu, thng l mt cp (kha, d liu). Kha c coi nh phng thc
ch ng c th tm thy d liu mong mun mt cch nhanh nht.
C th ni Chord l i din tiu biu nht ca h thng mng ngang hng c cu
trc DHT, khng nhng vy Chord cn l nn tng cho nhng nghin cu pht trin ng
dng sau ny. Mt s nghin cu ch ra rng: Chord khng ch l mt mng DHT n
thun m cn mang nhiu u im khc m mt s mng DHT khng c. Ni ti Chord
ta c th nhc ti nhng c im sau y:
- Cn bng ti (Load Balance): Qu trnh hnh thnh v phn b kha ca Chord
da trn thut ton Consistent Hashing. Chnh nhng c im ca thut ton ny tocho Chord mt kh nng cn bng ti mt cch t nhin ngay khi mng c khi to.
- S phn quyn: Trong giao thc Chord, khng nt no quan trng hn nt no,
quyn hn ny c thc hin rt hiu qu trong giao thc Chord. Mt s mng P2P ban
u cng c nhng c im tng t nhng vn tn ti nhng yu im m Chord
khc phc c.
Hnh 1. Mng ngang hng c cu trcChord dng vng trn.
8/3/2019 Cu trc Chord
2/4
- Kh nng m rng: Qu trnh hnh thnh mng, tm kim d liu trong Chord
ph thuc nhiu vo s bin thin ca hm s logarit. Chnh iu ny to cho Chord kh
nng m rng vi s lng rt ln cc nt, ci thin hiu sut tm kim mt cc ti a.
- Tnh sn sng: Mi nt trong Chord t ng iu chnh bng thng tin nh tuyn
( Finger Table) ca chnh n khi c mt nt tham gia hoc di mng. Ni cch khc trong
mng Chord qu trnh duy tr s tn ti ca mng din ra hon ton t ng, chnh iu
ny gim thiu kh nng v xung mc ti thiu khi qu trnh tham gia v di b
mng ca cc nt din ra.
1.1.1. M hnh mng Chord
Chord c m t di dng mt vng trn v c khng gian nh danh c N,
vi N l s bit nh danh ca khng gian. Mng Chord s c th cha ti a 2 m N
Chord nt. Mt Chord nt (hay mt nt - mt my tnh trong mng Chord) c mtnh danh id, v cc id trong mng Chord sp xp thnh vng trn v tng theo
chiu kim ng h. Chord s dng mt hm bm sinh nh danh cho nt v ti
liu, u ra ca hm bm l mt gi tr N bit. m bo xc sut nh danh trng
nhau l thp, N phi ln. Vi Chord, N thng l 160 bit. Mt nt tr ti nt tip
theo l nt c id ln hn, c gi l Successor(id), v mt nt na c id nh hn,
c gi l Predecessor(id). Cc nt lin kt vi nhau da vo Succcessor v
Predecessor ca n.
Hnh 2. Mt mng Chord vi 3 nt
8/3/2019 Cu trc Chord
3/4
Mi nt s lu mt bng nh tuyn gi l Finger Table. Thay v phi tm kim
tuyn tnh, bng nh tuyn cho php mt nt nh tuyn ti cc nt xa. Mi dng
trong bng Finger Table s lu thng tin v 1 nt xa, gi l 1 entry. Entry th i s
lu nt l successor ca kha c nh danh cch nh danh nt ang xt 2 i theo
chiu tin ca vng Chord. V vy, khng gian nh danh c bao nhiu bit th FingerTable c by nhiu entry.
1.1.2. nh x kha vo mt nt trong Chord
Chord nh x cc kha vo cc nt, thng s l mt cp key v value. Mt
value c th l 1 address, 1 vn bn, hoc 1 mc d liu. Chord c th thc hin
chc nng ny bng cch lu cc cp key/value cc nt m key c nh x. Mt
nt s chu trch nhim lu gi mt kha k nu nt l nt c nh danh id nh
nht v ln hn k. Mt nt khi lu gi kha k cng s c gi l Successor(k).
Hnh 3. Lu gi key trong mng Chord
1.1.3. Tm kim trong mng Chord
Khi mt nt cn tm kim mt kha c nh danh id, nt s tm nt chu
trch nhim lu gi id . Nu nt xa so vi v tr ca nt lu gi id, nt c th
nh vo thng tin trong bng Finger Table nh tuyn n cc nt xa hn, t dn dn bit c nt chu trch lu gi id.
Mt v d c ch trong hnh 6, gi s nt 3 mun tm successor ca ID (hoc
cn c th coi l kha) 1. ID 1 thuc khong [7, 3), tc l 3.finger[3].interval. nt 3
kim tra entry th 3 trong bng nh tuyn ca n, l 0. Bi v 0 trc 1, nt 3 s
8/3/2019 Cu trc Chord
4/4
hi nt 0 tm successor ca 1. Quay tr li, nt 0 s suy ra t bng nh tuyn
rng successor ca 1 chnh l nt 1, v tr v nt 1 cho nt 3.
1.1.4. Tham gia v n nh mng
Trong 1 mng ng , thng xuyn c s thay i vi cc nt tham gia v ri
khi bt k lc no. c th xc nh c v tr ca cc kha trong mng,
Chord cn tha mn 2 im sau :
Mi successor ca 1 nt phi c duy tr ng
Vi mi kha k, nt successor(k) c trch nhim qun l k
Khi tham gia vo mt mng Chord, mt nt n cn chn cho n mt nh danh
id v bo cho cc nt bn cnh bit s tham gia ca n. Cc nt Successor v
Predecessor s cn phi cp nht thng tin v nt mi tham gia vo mng. Nt n
cng cn khi to bng nh tuyn Finger Table bng cch tm cc nt m
Successor cc id trong tng entry ca Finger Table. mng vn nh tuyn ng
sau khi c s tham gia ca nt n, cc nt cn thng xuyn chy thut ton n nh
mng cp nht thng tin v nt bn cnh ( hay nt hng xm). Mt s nt s c n
trong bng Finger Table, nn cn cp nht mt s entry ca Finger Table. Cui cng
l nt Successor ca n s chuyn mt phn kha m by gi n l Successor(kha),
cho n lu gi. Vic chuyn kha s do tng trn ca ng dng thc hin.
Khi mt nt chun b ri khi mng, n cn thng bo cho cc nt bn cnhbit n nh li mng. Nt cng s chuyn cc kha n lu gi cho nt
Successor ca n.