Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 25 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
25
Dung lượng
1 MB
Nội dung
Distributed web-based systems Tr-ờng đại học CÔNG NGHệ hà nội H PHN TN DA TRấN NN TNG WEB Tiểu luận môn học Môn học: H phõn tỏn Học viên thực : nguyễn thị ngọc anh : NGUYN TH KIU ANH Lớp : Cao học K17 Hà Nội 1/2011 1/24/2011 Mc lc I H PHN TN DA TRấN NN TNG WEB 1.1 Kiu kin trỳc 1.2 Cỏc tin trỡnh 1.3 Liờn lc 11 1.4 Naming 12 1.5 ng b 14 1.6 Nht quỏn v bn 15 1.7 Fault Tolerance (Kh nng chu li) 20 II XY DNG WEBSERVICE TRC NGHIM 21 2.1 Gii thiu ng dng trc nghim: 21 2.2 C s d liu: SQL server 2008 21 2.3 Mụ hỡnh: 22 2.4 Hỡnh nh webservice 22 2.5 S dng webservice TracNghiem Nguyn Th Kiu Anh - Nguyn Th Ngc Anh Lp K17 Distributed web-based systems H phõn tỏn da trờn web (Distributed web-based systems) WWW c xem nh mt h thng phõn tỏn ln gm hng triu khỏch hng v mỏy ch truy cp n cỏc ti liu liờn kt Cỏc server trỡ hp cỏc ti liu, cỏc Client cung cp giao din d s dng cho ngi s dng trỡnh din v truy cp vo cỏc ti liu - Ti liu thng c biu din bng bn (plain text, HTML, XML) - Cỏc loi khỏc: nh, õm thanh, video, cỏc ng dng (PDF, PS) - Ti liu cú th cha mó script c thc thi bi phn mm hng Client 1/24/2011 I H phõn tỏn da trờn nn tng Web 1.1 Kiu kin trỳc V c bn, kin trỳc ca cỏc h phõn tỏn da trờn Web khụng khỏc nhiu so vi cỏc h phõn tỏn khỏc 1.1.1 Kin trỳc truyn thng Nhiu h thng da trờn Web c t chc tng t nh cỏc kiu kin trỳc client-server n gin Lừi ca Web site c nh dng bi mt tin trỡnh cú quyn truy cp ti mt h thng file a phng lu tr cỏc ti liu Cỏch n gin nht tham chiu ti mt ti liu l URL (Uniform Resource Locator) URL va cha thụng tin v trớ ti liu va cha thụng tin v giao thc tng ng dng s dng truyn ti liu trờn mng Client tng tỏc vi cỏc Web server qua trỡnh duyt (brower) Trỡnh duyt chu trỏch nhim hin th ỳng cỏch mt ti liu V trỡnh duyt cng chp nhn cho phộp ngi dựng chn mt tham chiu ti mt ti liu khỏc, ri sau ú nú tỡm v hin th Giao tip gia trỡnh duyt v Web server theo mt giao thc chun HTTP (HyperText Transfer Protocol - giao thc truyn siờu bn) Mụ hỡnh t chc ca h thng: Hỡnh 1.1 Mụ hỡnh tng th ca Web site truyn thng C ch hot ng ca h thng: (1): Server nhn yờu cu ly mt ti liu (HTTP) t Client Nguyn Th Kiu Anh - Nguyn Th Ngc Anh Lp K17 Distributed web-based systems (2): Tin trỡnh Server thc hin truy cp v ly ti liu t c s d liu (3): Server sau x lý s tr li thụng tin cho Client: cú th l thụng tin bỏo khụng tỡm c hoc ni dung ti liu 1.1.2 Kin trỳc a tng Web khụng dng li kin trỳc hai tng n gin Client Server, bõy gi nú ó c m rng thờm nhiu thnh phn h tr tt cỏc kiu d liu khỏc m chỳng ta ó mụ t Mt nhng ci tin u tiờn ca kin trỳc c bn h tr s tng tỏc vi ngi s dng bng vic s dng CGI ( Common Gateway Interface - H giao tip cng vo chung) Thụng qua giao din ny, ngi s dng in vo biu mu HTML v cỏc thụng tin ny s c gi n server C ch ca quỏ trỡnh ny c th hin hỡnh 1.2: Hỡnh 1.2 Cỏc nguyờn tc s dng chng trỡnh CGI phớa server (1): Ngi dựng nhp thụng tin cn thit vo form Thụng tin v chng trỡnh v thụng s ca nú c Client gi ti Server (2): Server to chng trỡnh CGI np ti liu (3): Chng trỡnh tng tỏc vi c s d liu, x lý v to cỏc bn HTML Vn bn ny c tr v cho Server (4): Server thc hin tr li bn cho phớa Client 1/24/2011 1.1.3 Cỏc dch v Web Dch v Web ging nh cỏc dch v truyn thng khỏc (vớ d, dch v nh danh, dch v bỏo cỏo thi tit,) ó cú sn trờn Internet Nhng dch v Web cú im c bit: nú tuõn th theo cỏc tiờu chun m cho phộp nú phỏt hin v truy cp trờn Internet bng cỏc ng dng Client Nguyờn tc ca vic cung cp v s dng mt dch v Web khỏ n gin (v c minh hỡnh 1.3): cỏc ng dng Client cú th gi cỏc dch v c cung cp bi ng dng server Quỏ trỡnh ny c thc hin da trờn s chun húa Hỡnh 1.3.Mụ hỡnh dch v Web - UDDI (Universal Description, Discovery and Integration standard) l mt th mc cha cỏc mụ t dch v cn thit Nú l mt c s d liu giỳp cho cỏc Client cú th truy cp tỡm kim cỏc dch v phự hp - Cỏc dch v c mụ t thụng qua ngụn ng WSDL (Web Services Definition Language) Ngụn ng ny tng t ngụn ng nh ngha giao din c h tr liờn lc RPC Ngụn ng WSDL mụ t cỏc nh ngha chớnh xỏc ca giao din c h tr bi dch v, ú l: cỏc c t th tc, cỏc kiu d liu, v trớ cỏc dch v, Nguyn Th Kiu Anh - Nguyn Th Ngc Anh Lp K17 Distributed web-based systems - Liờn lc gia Client v Server thụng qua giao thc SOAP (Simple Object Access Protocol) 1.2 Cỏc tin trỡnh Ti phn ny, ta i nghiờn cu cỏc tin trỡnh h phõn tỏn da trờn Web 1.2.1 Client Web Client quan trng nht l mt phn ca phn mm gi l Web Browser cho phộp ngi dựng iu hng cỏc trang Web bng cỏch ly cỏc trang Web t server v sau ú hin th chỳng trờn mn hỡnh ca ngi dựng Trỡnh duyt cung cp mt giao din m cỏc siờu liờn kt c hin th theo cỏch m ngi dựng cú th d dng chn thụng qua mt cỳ nhp chut Trc õy, trỡnh duyt Web gm nhng chng trỡnh n gin Chỳng bao gm cỏc thnh phn c th hin hỡnh 1.4 Hỡnh 1.4 Cỏc thnh phn logic ca mt trỡnh duyt Web - Rendering engine: chu trỏch nhim hin th cỏc bn HTML (hoc XML) lờn mn hỡnh Nú yờu cu phõn tớch HTML hoc XML, cú th cng yờu cu gii thớch kch bn - Browser engine: cung cp cỏc k thut cho ngi dựng cui cỏch i n ti liu, chn cỏc phn ca nú v kớch hot siờu liờn kt, 1.2.2 The Apache Web Server 1/24/2011 Tớnh n nay, Web server ph bin nht l Apache, c c tớnh s dng lu tr khong 70% tt c cỏc trang Web T chc c ch hot ng ca Apache c trỡnh by hỡnh 1.5 C bn ca t chc ny l khỏi nim v hook, nú ch mt nhúm chc nng c bit Cỏc lừi Apache gi nh rng yờu cu c x lý mt s giai on, mi giai on bao gm mt vi hook Mi hook i din cho mt nhúm cỏc hnh ng tng t cn c thc thi nh mt phn ca vic x lý mt yờu cu Hỡnh 1.5 T chc chung ca Apache Web Server Vớ d, cú mt hook dch mt URL thnh tờn file a phng Nh vy vic dch chc chn cn thc hin trc x lý mt yờu cu Tng t nh vy, cú mt hook cho vic ghi thụng tin ti mt bn ghi, mt hook cho vic kim tra xỏc minh Client, mt hook cho kim tra quyn truy cp v mt hook cho kim tra yờu cu nh dng MIME liờn quan n (vớ d, m bo yờu cu cú th c x lý ỳng cỏch) Nh hỡnh 1.5, cỏc hook c x lý theo mt th t nh trc Cỏc hm liờn kt vi mt hook c cung cp bi cỏc module riờng bit Mi hook cha mt b cỏc hm m phự hp vi mt mu hm c th (vớ d, danh sỏch cỏc thụng s v kiu tr v) Mt nh phỏt trin module s vit cỏc hm cho cỏc hook c th Khi biờn dch Apache, nh phỏt trin ch rừ hm nờn c thờm vo hook Hỡnh 1.5 l cỏc liờn kt khỏc gia cỏc hm v hook Nguyn Th Kiu Anh - Nguyn Th Ngc Anh Lp K17 Distributed web-based systems Vỡ cú th cú hng chc module, mi hook cú mt vi hm Thụng thng, cỏc module c coi l c lp vi nhau, vỡ vy cỏc hm cựng hook s thc thi theo th t tựy ý Tuy nhiờn, Apache cng cú th x lý module ph thuc bng cỏch cho phộp nh phỏt trin nh th t m cỏc hm t cỏc module khỏc c x lý Vỡ vy, kt qu ca Web Server cc k linh hot 1.2.3 Web Server Clusters Mt quan trng liờn quan n bn cht Client Server ca Web l Web server d dng b quỏ ti Mt gii phỏp thc t c thc hin nhiu thit k ch n gin l chộp mt mỏy ch trờn mt cm mỏy ch v s dng k thut riờng bit, chng hn font-end, chuyn tip cỏc yờu cu ca Client ti mt cỏc bn Nguyờn tc ny c th hin hỡnh 1.6 v õy cng l mt vớ d ca phõn tỏn theo chiu ngang Hỡnh 1.6 Nguyờn tc s dng mt server cluster kt hp vi front-end thc thi mt dch v Web Mt khớa cnh quan trng ca cỏch t chc ny l thit k front end Vỡ nú cú th tr thnh mt nỳt c chai hiu sut nghiờm trng m tt c cỏc lu lng truy cp s i qua - Transport-layer Switching: C no Client cú mt yờu cu HTTP, nú thit lp mt kt ni TCP ti server Transport-layer switch n gin l chuyn cỏc d liu c gi theo kt ni TCP ti mt cỏc server, ph thuc vo o ti ca server Hi ỏp t server c tr li cho switch, v sau ú c chuyn ti Client ang yờu cu Hn ch chớnh ca Transport-layer Switch l switch khụng th a vo account ni dung ca yờu cu HTTP m ch gi cựng vi kt ni TCP - Content-aware Distribution: u tiờn front-end kim tra yờu cu HTTP n, v quyt nh server no cn chuyn tip yờu cu Cỏch tip cn ny cú mt s li th Vớ d, 1/24/2011 10 nu front-end luụn chuyn yờu cu cho cựng ti liu ti cựng mỏy ch, cỏc server cú th cache ti liu hiu qu dn n thi gian ỏp ng cao hn Ngoi ra, nú cú th thc thi vic phõn tỏn cỏc ti liu gia cỏc server thay vỡ phi lp mi ti liu trờn mi server Cỏch tip cn ny lm vic s dng dung lng lu tr cú sn hiu qu hn v cho phộp s dng cỏc server riờng bit cho x lý bn c bit nh õm hoc video Content-aware Distribution cú hn ch: font-end cn lm nhiu cụng vic Lý tng nht, ngi ta mun cú TCP handoff hiu qu v cỏc hm ca Content-aware Distribution Kt hp vi TCP handoff, front end cú nhim v: - u tiờn, mt yờu cu ban u n, nú phi quyt nh server no s x lý phn cũn li ca liờn lc vi Client - Th hai, front-end nờn chuyn cỏc thụng ip TCP ca Client kt hp vi kt ni handed-off TCP Hỡnh 1.7 Content-aware m rng ca Web server Hai nhim v cú th c phõn phi nh hỡnh 1.7 Dispatcher chu trỏch nhim quyt nh kt ni TCP server no nờn c handed-off; ngi phõn phi giỏm sỏt lu lng TCP n cho kt ni handed-off Switch c dựng chuyn tip cỏc thụng ip TCP ti ngi phõn phi u tiờn Client liờn h vi dch v Web, thụng ip thit lp kt ni TCP c chuyn tip ti ngi phõn phi, v ln lt liờn h vi dispatcher nú quyt nh kt ni server no nờn c handed-off Vo thi im ú, switch c thụng bỏo rng nú nờn gi tt c cỏc thụng ip TCP cho kt ni ti server ó chn Hin cú nhiu la chn thay th khỏc v ci tin hn cho vic thit lp Web server Cluster Vớ d, thay vỡ s dng bt k loi front-end no, nú cú th s dng roundNguyn Th Kiu Anh - Nguyn Th Ngc Anh Lp K17 Distributed web-based systems robin DNS m mt tờn c gỏn vi nhiu a ch IP Trong trng hp ú, phõn gii host name ca mt trang Web, trỡnh duyt Client s nhn mt danh sỏch nhiu a ch, mi a ch tng ng vi mt cỏc Web server Thụng thng, trỡnh duyt chn a ch u tiờn danh sỏch 1.3 Liờn lc 1.3.1 Hypertext Transfer Protocol (HTTP) Tt c liờn lc gia Client v Server Web da trờn giao thc truyn ti siờu bn (HTTP) HTTP l giao thc Client-Server khỏ n gin Mt Client cú th yờu cu gi hoc nhn mt ti liu no ú thụng qua cỏc thụng ip yờu cu khỏc HTTP c thit k nh mt giao thc Client-Server hng ti chuyn ti liu theo c chiu Mt Client cú th yờu cu mi thao tỏc ny c thc hin ti server bng cỏch gi mt thụng ip yờu cu cha thao tỏc mong mun ti server Di õy l danh sỏch cỏc thụng ip yờu cu s dng ph bin nht: Thao tỏc Mụ t Head Yờu cu tr v header ca ti liu Get Yờu cu tr v ti liu ti Client Put Yờu cu lu tr ti liu Post Cung cp d liu c thờm vo ti liu Delete Yờu cu xúa ti liu HTTP cho rng mi ti liu cú th kt hp vi siờu d liu c lu tr header riờng m gi cựng vi mt yờu cu hoc hi ỏp Thao tỏc header c gi n server Client khụng mun ti liu thc m ch liờn quan n siờu d liu (metadata) Vớ d, s dng thao tỏc head s tr v thi gian ti liu c sa i Thao tỏc ny cú th c s dng chng minh tớnh hp l ca ti liu, kim tra ti liu cú tn ti khụng m khụng cn phi thc s chuyn giao ti liu - Thao tỏc quan trng nht l get Nú c dựng thc s ly ti liu t server v chuyn li cho Client ang yờu cu - Thao tỏc put: mt Client cú th yờu cu server lu tr ti liu di mt tờn ó cho (c gi cựng vi yờu cu) Server s ch chp nhn yờu cu ú ca Client y quyn 1/24/2011 12 - Thao tỏc post: cú phn tng t nh lu tr ti liu, ngoi tr Client s yờu cu d liu c thờm vo ti liu hoc thu thp ti liu Mt vớ d in hỡnh l vic ng mt bi bỏo cho mt nhúm tin tc c tớnh phõn bit so vi thao tỏc put l thao tỏc post núi nhúm ti liu no m bi bỏo c thờm vo Bi bỏo c gi cựng yờu cu Ngc li, mt thao tỏc put mang ti liu v tờn ti server c yờu cu lu tr ti liu - Thao tỏc delete: c dựng yờu cu server xúa ti liu m tờn c gi cựng thụng ip ti server 1.3.2 Simple Object Access Protocol (SOAP ) SOAP l chun cho liờn lc vi cỏc dch v Web SOAP cú kiu tng tỏc: - Conversational exchange style: hai bờn c bn trao i ti liu cú cu trỳc Vớ d, nh mt ti liu cú n t hng hon chnh l cỏi in vo t vộ mỏy bay in t Cỏc hi ỏp ti n t hng cú th l ti liu xỏc nhn cú cha s th t, thụng tin chuyn bay, ch ngi v cú l c mó vch quột lờn mỏy bay - RPC-style exchange: dựng triu gi dch v Web Trong trng hp ny, thụng ip SOAP s xỏc nh rừ cỏc th tc c gi v cung cp danh sỏch cỏc giỏ tr tham s u vo gi Vỡ vy, hi ỏp s l thụng ip chớnh thc cú cha hi ỏp cho li gi 1.4 Naming Web s dng mt h thng t tờn nht tham chiu ti cỏc ti liu Tờn s dng c gi l Uniform Resource Identifier hay n gin ch l URIs URI cú dng: - Uniform Resource Locator (URL): l mt URI nhn dng mt ti liu bng cỏch bao gm thụng tin v cỏch thc v ni truy cp ti liu Núi cỏch khỏc, URL l mt tham chiu ph thuc vo v trớ ti ti liu Cỏch thc truy cp ti liu thng c th hin qua tờn ca lc m l mt phn ca URL nh: http, ftp hoc telnet V trớ ti liu c nhỳng vo URL bng tờn DNS ca server m yờu cu truy cp c gi n, mc dự mt a ch IP cng cú th c s dng S cng m server s nghe yờu cu cng l mt phn ca URL Cu trỳc ca mt URL: Nguyn Th Kiu Anh - Nguyn Th Ngc Anh Lp K17 Distributed web-based systems Hỡnh 1.8 Cu trỳc thng s dng ca URL (a) s dng ch tờn DNS (b) Kt hp tờn DNS vi s cng (c) Kt hp a ch IP vi s cng Vic phõn gii URL hỡnh 1.8 khỏ n gin Nu server c tham chiu bng tờn DNS, tờn s cn c phõn gii ti a ch IP ca server S dng s cng cha URL, Client cú th liờn lc vi server s dng giao thc cú tờn ca lc , v chuyn cho nú tờn ti liu c nh dng l phn cui cựng ca URL - Uniform Resource Name (URN): l mt c ch nh danh chung cho ton th gii, c lp v trớ v liờn tc tham chiu ti ti liu Name User for Example http HTTP http://www.cs.vu.nl:80/globe mailto E-mail mailto:steen@cs.vu.nl ftp FTP ftp://ftp.cs.vu.nl/pub/minix/README file Local file file:/edu/book/work/chp/11/11 data Inline data Data:text/plain;charset=iso-88597,%e1%e2%e3 telnet Remote login telnet://flits.cs.vu.nl tel Telephone Tel:+31201234567 modem Modem Modem:+31201234567;type=v32 1/24/2011 14 Hỡnh 1.9 Vớ d v URL URI http c s dng chuyn ti liu bng cỏch dựng HTTP, URI ftp s dng chuyn tin bng cỏch dựng FTP 1.5 ng b i vi h thng Web truyn thng, ng b khụng phi l ỏng quan tõm vỡ nguyờn nhõn sau: - C ch t chc Client-Server ú cỏc server khụng bao gi trao i thụng tin vi cỏc server khỏc (hoc gia cỏc Client vi cỏc Client khỏc) nờn khụng cn ng b - Web c xem nh h thng ch yu l c Cp nht ch lm bi mt ngi hoc mt t chc nờn khụng cú s xung t Tuy nhiờn, mi th ang thay i Vớ d, cú mt nhu cu ngy cng tng v cung cp h tr cho cỏc tỏc gi cng tỏc ca cỏc ti liu Web Núi cỏch khỏc, Web s cung cp h tr cho cỏc bn cp nht ng thi ca ti liu bi mt nhúm ngi dựng hoc tin trỡnh cng tỏc Tng t nh vy, vi gii thiu ca cỏc dch v Web, chỳng ta thy mt nhu cu phi ng b Qun lý phõn tỏn ca ti liu Web thc hin thụng qua giao thc riờng WebDAV (Web Distributed Authoring and Versioning ) WebDAV cung cp cỏc cỏch thc khúa ti liu ó chia s, v to, xúa, copy v di chuyn ti liu t cỏc Web server t xa ng b truy cp ng thi ti ti liu chia s, WebDAV h tr k thut khúa n gin Cú c ch ghi khúa: - Khúa ghi riờng c gỏn ti Client n v s ngn chn bt k Client no mun sa i cỏc ti liu chia s nú ang b khúa - Khúa ghi chia s: cho phộp cỏc Client ng thi cp nht ti liu Vỡ khúa din chi tit ca ton b ti liu, khúa ghi chia s thun tin cỏc Client cp nht cỏc phn khỏc ca cựng ti liu Tuy nhiờn, cỏc Client cn chỳ ý ti xung t xy ng ký khúa c thc hin thụng qua vic chuyn quyn ly khúa (Key token) ti Client ang yờu cu Server ghi vo Client hin ti ang cú quyn ly khúa Khi Client mun chnh sa ti liu, Client gi mt yờu cu HTTP post ti server vi yờu cu ly Nguyn Th Kiu Anh - Nguyn Th Ngc Anh Lp K17 Distributed web-based systems khúa Quyn m ch Client c truy cp ghi ti ti liu l lý server thc hin yờu cu Vn thit k quan trng l khụng cn thit phi trỡ kt ni gia Client v Server gi khúa Cỏc Client cú th ch n gin ngt kt ni ti server sau cú khúa v kt ni vi server gi mt yờu cu HTTP Chỳ ý l mt Client nm gi khúa gp s c, server s cỏch ny hoc cỏch khỏc phc hi li WebDAV khụng ch nh cỏch thc server x lý tỡnh tng t nhng c m cho cỏc b sung c bit 1.6 Nht quỏn v bn Cú l mt cỏc quan trng ca h phõn tỏn da trờn Web l m bo truy cp ti ti liu Web cú hiu nng v tớnh sn sng Cỏc yờu cu ny dn n nhiu xut cho cache v lp ni dung Web 1.6.1 Web proxy catching Vic caching Client-Server thng din ni: - Ni u tiờn, hu ht cỏc trỡnh duyt c trang b b nh m n gin Khi mt ti liu c ly, nú c lu tr b nh cache ca trỡnh duyt t ni nú c ti ln ti Client cú th cu hỡnh cache bng cỏch ch ni kim tra tớnh nht quỏn nờn din - Trang web ca Client chy mt Web proxy Web proxy chp nhn cỏc yờu cu t Client a phng v chuyn ti Web server Khi mt hi ỏp n, kt qu c chuyn ti Client Li th ca cỏch tip cn ny l proxy cú th cache kt qu v tr kt qu ti cho Client khỏc nu cn thit Núi cỏch khỏc, Web proxy cú th thc thi cache chia s 1/24/2011 16 Hỡnh 1.10 Nguyờn tc ca caching cú tớnh cng tỏc Trong caching cng tỏc hoc caching phõn tỏn, no mt cache xy ti Web proxy, u tiờn proxy kim tra s proxy lõn cn xem s ú cú cha ti liu c yờu cu khụng Nu khụng, cỏc proxy chuyn tip yờu cu ti Web server chu trỏch nhim v ti liu Cỏc giao thc nht quỏn cache khỏc ó c trin khai Web m bo rng mt ti liu c ly v t cache l nht quỏn, u tiờn cỏc Web proxy gi yờu cu HTTP get cú iu kin vi phn thờm vo yờu cu If-Modifier-Since, quy nh c th thi gian sa i cui cựng c gỏn vi ti liu lu tr Ch ti liu c thay i t thi im trc, server s tr li ton b ti liu Nu khụng, Web proxy cú th tr v phiờn bn cache ti Client a phng ang yờu cu 1.6.2 Bn cho Web Hosting Systems Vỡ tm quan trng ca Web vic trc tip tng tỏc vi ngi dựng cui, chỳng ta thy cú s thay i gia vic trỡ ni dung trang Web v m bo trang Web c truy cp d dng v liờn tc iu ny dn n mng cung cp ni dung (Content delivery networks CDNs) í tng l cỏc CDN hot ng nhu mt dch v lu tr Web, cung cp mt c s h tng phõn tỏn v nhõn bn ti liu Web ca nhiu trang Web trờn Internet Nguyn Th Kiu Anh - Nguyn Th Ngc Anh Lp K17 Distributed web-based systems Hỡnh 1.11 T chc chung ca mt CDN nh h thng kim soỏt phn hi Cú kiu khớa cnh khỏc liờn quan ti nhõn bn Web hosting system: - c lng o: Mt khớa cnh thỳ v ca CONs l chỳng cn thc hin s tha hip gia cỏc khớa cnh núi n lu tr ni dung nhõn bn Vớ d, truy cp nhiu ln ti mt ti liu cú th c ti u nu mt ti liu c nhõn rng, nhng ng thi phi gỏnh chu chi phớ ti chớnh cng nh chi phớ v bng thụng s dng ph bin thụng tin cp nht Nhỡn chung, cú nhiu ngh cho c lng cỏch thc tt CON thc thi Cỏc ngh ny c nhúm thnh mt vi lp: + Latency metrics (s liu tr): thi gian c o cho mt hnh ng, vớ d: ly ti liu c lng tr tr nờn khú khn, vớ d mt tin trỡnh quyt nh trờn v trớ ca cỏc bn cn bit tr gia Client v server t xa Vỡ vy thut toỏn cỏc nỳt nh v ton cu c trin khai + Spactial metrics ( o khụng gian) + Network usage metrics ( o s dng mng) - iu chnh h thng: mt mụ hỡnh n gin l nh k c lng o ri sau ú iu chnh cn thit Phng phỏp ny thng c s dng thc t Nhc im ca iu chnh nh k l s thay i t ngt cú th b b qua: flash crowd (s tng vt yờu cu mt ti nguyờn no ú) Vỡ vy cn s dng thut toỏn d oỏn s c cú nhng la chn iu chnh h thng thớch hp 1/24/2011 18 - Bin phỏp iu chnh: ch cú bin phỏp dn n s thay i cỏch c x ca Web hosting service: + Thay i ni t bn + Thay i thc thi nht quỏn + Quyt nh cỏch thc v thi im chuyn cỏc yờu cu Client Xem xột cỏch gii quyt tớnh nht quỏn v nhõn bn thc t qua Akamai í tng c bn l mi ti liu Web bao gm mt trang HTML (hoc XML) chớnh ú mt s ti liu nh hỡnh nh, video v õm c nhỳng hin th ton b ti liu, cn thit trỡnh duyt ca ngi dựng phi ly c ti liu nhỳng Gi thit l cỏc ti liu nhỳng him thay i Mi ti liu nhỳng thng c tham chiu thụng qua URL Tuy nhiờn, CON ca Akamai, URL c sa i nh nú cp ti virtual ghost, l tham chiu ti server thc t CON ny Hỡnh 1.12 Nguyờn tc hot ng CDN Akamai Tờn ca cỏc virtual ghost bao gm tờn ONS nh ghosting.com m c phõn gii bi h thụng tờn ONS ti mt server CON DNS (kt qu ca bc 3) Mi server ONS nh vy theo dừi cỏc server gn vi Client Trong thc t, cỏc server CON OST chuyn hng cỏc Client ti server bn tt nht cho Client (bc 4) m cú th l gn nht hoc ti ớt nht hoc s kt hp ca mt vi o nh vy Cui cựng, Client chuyn tip yờu cu ti liu nhỳng ti mỏy ch CDN ó chn Nu server cha cú ti liu, nú s ly t dch v Web gc (bc 6), cache a phng v sau ú chuyn ti Client Nu ti liu ó cú b nh cache ca CDN, nú cú th Nguyn Th Kiu Anh - Nguyn Th Ngc Anh Lp K17 Distributed web-based systems c tr li lp tc Lu ý rng ly cỏc ti liu c nhỳng, cỏc server bn phi gi yờu cu n server gc, ú l lý tờn host cú URL ca cỏc ti liu nhỳng Rừ rng, bt c no mt ti liu chớnh thay i, Client s luụn cú th ly nú t server gc Mt URL cho ti liu nhỳng khụng ch cp n tờn server lu tr m dn n mt server CDN DNS m cũn cha mt nh danh nht thay i tờn ca ti liu nhỳng Trong thc t, nh danh ny thay i tờn cỏc ti liu nhỳng H qu, Client chuyn n mt server CDN c th, server khụng tỡm thy ti liu cú tờn cache v ú nú phi ly t server gc Cỏc ti liu c cui cựng s b xúa cache 1.6.3 Bn cho Web Application n thi im ny, chỳng ta mi ch trung vo caching v nhõn bn cho ni dung Web tnh Thc t, trang Web ngy cng nhiu ni dung ng v m rng v hng cung cp dch v cú th gi bi ng dng t xa Hỡnh 1.13 Thay th khỏc cho caching v nhõn bn ng dng Web Khi xem xột ci thin hiu sut ca ng dng Web qua caching v nhõn bn, cú th trin khai mt s gii phỏp Xem xột hỡnh 1.13 Trong trng hp ny, gi nh mt CDN m mi trang host cú server gc hot ng nh trang cú thm quyn cho tt c cỏc thao tỏc c v ghi Mt Edge-server c dựng x lý cỏc yờu cu ca Client v cú kh nng lu tr mt phn thụng cungx c gi ti origin server Trong kin trỳc edge-server, cỏc Client Web yờu cu d liu qua edge-server, ú, ln lt nhn thụng tin t server gc cú liờn quan vi cỏc trang Web c th c gi 1/24/2011 20 ca Client Trong hỡnh 1.13, gi s rng origin-server bao gm c s d liu t ú cỏc hi ỏp c t ng to Cỏc cỏch gii quyt khỏc: - Full replication (nhõn bn y ): t l c/ghi cao, thng cựng vi cỏc truy phc - Partial Replication (nhõn bn mt phn): t l c/ghi cao, nhng cựng vi cỏc truy n gin - Content-aware caching: kim tra cỏc truy ti c s d liu a phng v lm vic vi cỏc truy vựng v truy phc - Content-blind caching: n gin ch cn cache kt qu ca cỏc truy trc Lm vic vi cỏc truy n gin m nh a ch cỏc kt qu nht 1.7 Fault Tolerance (Kh nng chu li) Kh nng chu li ca h phõn tỏn da trờn Web cng ch yu t c qua caching client server v nhõn bn server Khụng cú phng thc c bit c kt hp, vớ d, HTTP h tr kh nng chu li hoc phc hi Trong h thng da trờn Web truyn thng, vic chu li khỏ d dng t c bng cỏch xem xột thit k khụng trng thỏi ca server cựng vi tớnh cht tnh ca ni dung cung cp Cỏc cn c x lý: - Cỏc Client ca dch v BFT (Byzantine Fault Tolerance) cú th nhỡn dch v nh dch v Web khỏc iu ny ngha l s chộp ni b ca dch v phi c n vi Client, cựng vi s x lý thớch hp cho cỏc hi ỏp - Mt dch v phi m bo tớnh nht quỏn hot ng nh mt Client - Giao thc chng li phi coi dch v c cung cp nh mt thc th Nguyn Th Kiu Anh - Nguyn Th Ngc Anh Lp K17 Distributed web-based systems II Xõy dng Webservice phc v cho vic lm cỏc ng dng trc nghim 2.1 Gii thiu ng dng trc nghim: Nhúm chỳng tụi ó ỏp dng cỏc kin thc v Webservice xõy dng mt Webservice ng dng xõy dng vic lm cỏc bi trc nghim v chm kt qu 2.2 C s d liu: SQL server 2008 ChuDe KetQua Column Name Data Type Column Name Allow Nulls Data Type Id numeric(18, 0) Id numeric(18, 0) Ma nvarchar(100) Ma nvarchar(100) ThuTu int IdCha numeric(18, 0) Ten nvarchar(200) Ten nvarchar(200) NoiDung ntext NoiDung ntext IdCauHoi numeric(18, 0) ThoiGian nvarchar(50) TrangThai bit IdCauTraLoi numeric(18, 0) MucDiemCaoNhat numeric(18, 2) MucDiemThapNhat numeric(18, 2) Allow Nulls CacKetQua Column Name Data Type Allow Nulls CauHoi Id numeric(18, 0) Ma nvarchar(100) Id numeric(18, 0) ThuTu int Ma nvarchar(100) TenNguoiTraLoi nvarchar(200) ThuTu int IdCauHoi numeric(18, 0) Ten nvarchar(200) IdKetQua numeric(18, 0) NoiDung ntext Ngay datetime IdChuDe numeric(18, 0) Column Name CauTraLoi Column Name Data Type Id numeric(18, 0) Ma nvarchar(100) ThuTu int Ten nvarchar(200) NoiDung ntext SoDiem numeric(18, 2) IdCauHoi numeric(18, 0) TrangThai bit 1/24/2011 Allow Nulls Data Type Allow Nulls 22 2.3 Mụ hỡnh: Cỏc Client: - T nhp danh sỏch cõu hi, tr li - Cho phộp ngi dựng lm bi trc nghim - Hin th kt qu bi trc nghim Webservice:TracNghiem Nhim v: - Nhn Request t cỏc Client - Gi Requet n CSDL - Nhn kt qu tr v t CSDL - Tr kt qu cho cỏc Client 2.4 Hỡnh nh webservice Di õy l hỡnh nh Webservice trc nghim ó xõy dng: Nguyn Th Kiu Anh - Nguyn Th Ngc Anh Lp K17 C s d liu: - Kho cõu hi v ỏp ỏn trc nghim - Lu tr d liu - Tr kt qu truy cho Service - Nhn cỏc lnh truy xut, tỡm kim, sa i ca Service Distributed web-based systems Cỏc API ó xõy dng: a Nhúm API c bn: Nhúm ny bao gm cỏc API s dng gi cỏc thao tỏc c bn n c s d liu bao gm cỏc API : Thờm, sa, xúa,tỡm kim tng ng vi bng d liu: - KetQuaBaiTracNghiem - SuaCacKetQua - SuaCauHoi - SuaCauTraLoi - SuaChuDe - SuaKetQua - ThemCacKetQua - ThemCauHoi - ThemCauTraLoi - ThemChuDe - ThemKetQua - TimKiemCacKetQua - TimKiemCauHoi - TimKiemCauTraLoi - TimKiemChuDe - TimKiemKetQua - TongDiem - XoaCacKetQua - XoaCauHoi - XoaCauTraLoi - XoaChuDe - XoaKetQua b Nhúm cỏc API x lý: Bao gm cỏc hm x lý vic tr im v chm kt qu bi trc nghim: o TinhDiem(int intCauHoi): hm ny tớnh tng im cho ton bi trc nghim m ngi dựng ó lm c o DanhGia(int intCauHoi, double dbDiem): hm ny tr v kt qu ỏnh giỏ mi bi trc nghim thụng qua tng s im t c 1/24/2011 2.5 S dng webservice TracNghiem B1 T project Client (cú th l ng dng winform hoc webform) gi n service: B2 Khai bỏo Webservice chng trỡnh Nguyn Th Kiu Anh - Nguyn Th Ngc Anh Lp K17 Distributed web-based systems B3 Gi i tng SoapClient v gi API cn dựng: TracNghiemSoapClient tracnghiem = new TracNghiemSoapClient(); dgrData.DataSource = tracnghiem.TimKiemChuDe(); Hỡnh nh vớ d v vic hin th trờn giao din ca ng dng Client s dng API TimKiemChuDe() hin th tt c cỏc ch trc nghim cú c s d liu 1/24/2011 [...]... hoặc cách khác để phục hồi lại WebDAV không chỉ định cách thức server xử lý tình huống tương tự nhưng được mở ra cho các bổ sung đặc biệt 1.6 Nhất quán và bản sao Có lẽ một trong các vấn đề quan trọng của hệ phân tán dựa trên Web là đảm bảo truy cập tới tài liệu Web có hiệu năng và tính sẵn sàng Các yêu cầu này dẫn đến nhiều đề xuất cho cache và sao lặp nội dung Web 1.6.1 Web proxy catching Việc caching... định địa chỉ các kết quả duy nhất 1.7 Fault Tolerance (Khả năng chịu lỗi) Khả năng chịu lỗi của hệ phân tán dựa trên Web cũng chủ yếu đạt được qua caching client – server và nhân bản server Không có phương thức đặc biệt được kết hợp, ví dụ, HTTP để hỗ trợ khả năng chịu lỗi hoặc phục hồi Trong hệ thống dựa trên Web truyền thống, việc chịu lỗi khá dễ dàng đạt được bằng cách xem xét thiết kế không trạng thái... là các CDN hoạt động nhưu một dịch vụ lưu trữ Web, cung cấp một cơ sở hạ tầng để phân tán và nhân bản tài liệu Web của nhiều trang Web trên Internet Nguyễn Thị Kiều Anh - Nguyễn Thị Ngọc Anh Lớp K17 Distributed web- based systems Hình 1.11 Tổ chức chung của một CDN như hệ thống kiểm soát phản hồi Có 3 kiểu khía cạnh khác nhau liên quan tới nhân bản trong Web hosting system: - ước lượng độ đo: Một khía... cộng tác của các tài liệu Web Nói cách khác, Web sẽ cung cấp hỗ trợ cho các bản cập nhật đồng thời của tài liệu bởi một nhóm người dùng hoặc tiến trình cộng tác Tương tự như vậy, với giới thiệu của các dịch vụ Web, chúng ta thấy một nhu cầu phải đồng bộ Quản lý phân tán của tài liệu Web thực hiện thông qua giao thức riêng WebDAV (Web Distributed Authoring and Versioning ) WebDAV cung cấp các cách thức... hoặc caching phân tán, khi nào một cache xảy ra tại Web proxy, đầu tiên proxy kiểm tra số proxy lân cận để xem trong số đó có chứa tài liệu được yêu cầu không Nếu không, các proxy chuểyn tiếp yêu cầu tới Web server chịu trách nhiệm về tài liệu Các giao thức nhất quán cache khác nhau đã được triển khai trong Web Để đảm bảo rằng một tài liệu được lấy về từ cache là nhất quán, đầu tiên các Web proxy gửi... cách chỉ ra nơi kiểm tra tính nhất quán nên diễn ra - Trang web của Client chạy một Web proxy Web proxy chấp nhận các yêu cầu từ Client địa phương và chuyển tới Web server Khi một hồi đáp đến, kết quả được chuyển tới Client Lợi thế của cách tiếp cận này là proxy có thể cache kết quả và trả kết quả tới cho Client khác nếu cần thiết Nói cách khác, Web proxy có thể thực thi cache chia sẻ 1/24/2011 16 Hình... thời điểm trước, server sẽ trả lại toàn bộ tài liệu Nếu không, Web proxy có thể trả về phiên bản cache tới Client địa phương đang yêu cầu 1.6.2 Bản sao cho Web Hosting Systems Vì tầm quan trọng của Web trong việc trực tiếp tương tác với người dùng cuối, chúng ta thấy có sự thay đổi giữa việc duy trì nội dung trang Web và đảm bảo trang Web được truy cập dễ dàng và liên tục Điều này dẫn đến mạng cung... dụng để chuyển tệp tin bằng cách dùng FTP 1.5 Đồng bộ Đối với hệ thống Web truyền thống, đồng bộ không phải là vấn đề đáng quan tâm vì 2 nguyên nhân sau: - Cơ chế tổ chức Client-Server trong đó các server không bao giờ trao đổi thông tin với các server khác (hoặc giữa các Client với các Client khác) nên không cần đồng bộ - Web được xem như hệ thống chủ yếu là đọc Cập nhật chỉ làm bởi một người hoặc một... danh này thay đổi tên các tài liệu nhúng Hệ quả, khi Client chuyển đến một server CDN cụ thể, server không tìm thấy tài liệu có tên trong cache và do đó nó phải lấy từ server gốc Các tài liệu cũ cuối cùng sẽ bị xóa khỏi cache 1.6.3 Bản sao cho Web Application Đến thời điểm này, chúng ta mới chỉ tập trung vào caching và nhân bản cho nội dung Web tĩnh Thực tế, trang Web ngày càng nhiều nội dung động và mở...Distributed web- based systems robin DNS mà một tên miền được gán với nhiều địa chỉ IP Trong trường hợp đó, khi phân giải host name của một trang Web, trình duyệt Client sẽ nhận một danh sách nhiều địa chỉ, mỗi địa chỉ tương ứng với một trong các Web server Thông thường, trình duyệt chọn địa chỉ đầu tiên trong danh sách 1.3 Liên