Bé GI¸O DôC Vµ §µO T¹O TR¦êNG §¹I HäC B¸CH KHOA Hµ NéI ---------------------------------------- luËn v¨n th¹c sÜ khoa häc Nghiªn cøu, ph¸t triÓn vµ øng dông c«ng nghÖ MOBILE AGENT cho hÖ thèng ®a c¬ së d÷ liÖu ph©n t¸n Ngµnh: xö lý th«ng tin vµ truyÒn th«ng NguyÔn anh vò Ngêi híng dÉn khoa häc: gs.ts nguyÔn thóc h¶i Hµ néi 2005 17057205110811000000 Môc lôc Danh s¸ch c¸c tõ viÕt t¾t. i Danh s¸ch c¸c h×nh vÏ. ii Lêi më ®Çu .1 Ch¬ng 1: Mobile agent .1 Mét sè kh¸i niÖm .3 Qu¸ tr×nh ph¸t triÓn tõ truyÒn th«ng ®iÖp ®Õn mobile agent .2 §Æc ®iÓm cña mobile agent .1 TÝnh di ®éng .2 Sù thu thËp d÷ liÖu .4 TruyÒn th«ng .3 Lîi Ých cña mobile agent .1 Hç trî tèt h¬n cho c¸c m¸y kh¸ch di ®éng .2 TruyÒn th«ng ph©n t¸n vµ kh«ng ®ång nhÊt .3 Gi¶m t¶i cña m¹ng.4 T¬ng t¸c kh«ng ®ång bé.5 T×m kiÕm vµ chän läc tõ xa .6 T¹o ®iÒu kiÖn thuËn lîi cho viÖc thu thËp th«ng tin cã ng÷ nghÜa.7 T¹o ®iÒu kiÖn thuËn lîi cho sù t¬ng t¸c thêi gian thùc víi m¸y chñ .8 Cho phÐp kh¶ n¨ng ®Þnh ®êng cã ng÷ c¶nh .1 Thu thËp th«ng tin tõ nhiÒu ®Þa ®iÓm .2 T×m kiÕm vµ chän läc th«ng tin.3 Theo dâi th«ng tin .4 Ph©n ph¸t th«ng tin cã chñ ®Ých .5 §µm ph¸n vµ giao dÞch th¬ng m¹i.2 CÊu tróc ho¹t ®éng mét hÖ thèng mobile agent .5 Agent giao diÖn ngêi dïng .3 Mét sè hÖ thèng mobile agent hiÖn nay. 42 Ch¬ng 2: HÖ thèng ®a c¬ së d÷ liÖu ph©n t¸n .3 C¸c vÊn ®Ò ®Æt ra .4 Mét sè hÖ thèng ®a c¬ së d÷ liÖu ph©n t¸n .5 Mét sè c«ng cô hç trî truy vÊn c¸c nguån d÷ liÖu kh¸c nhau.
54 Ch¬ng 3: X©y dùng m« h×nh hÖ thèng ®a c¬ së d÷ liÖu thuÇn nhÊt sö dông mobile agent.4 Nguyªn t¾c ho¹t ®éng .3 Xö lý truy vÊn tæng thÓ .4 Xö lý giao dÞch tæng thÓ .6 Ph©n tÝch yªu cÇu .6 Lùa chän ng«n ng÷ .7 M«i trêng ph¸t triÓn .1 Xö lý giao dÞch ph©n t¸n .2 Qu¶n lý mét phiªn lµm viÖc .2 B¶o mËt ngêi dïng.8 Ph¸t triÓn ch¬ng tr×nh.2 Xö lý yªu cÇu ngêi dïng .3 Xö lý thao t¸c víi c¬ së d÷ liÖu.4 Giao diÖn ngêi dïng. 88 Ch¬ng 4: TriÓn khai thö nghiÖm cho c¸c øng dông xö lý vµ khai th¸c th«ng tin trªn hÖ thèng th«ng tin ph©n t¸n cña C«ng ty DÞch vô tiÕt kiÖm Bu ®iÖn .1 Thùc tr¹ng hÖ thèng m¹ng C«ng ty DÞch vô tiÕt kiÖm Bu ®iÖn .3 KÕt qu¶ thö nghiÖm.4 Nh÷ng tån t¹i vµ híng ph¸t triÓn .107 Tµi liÖu tham kh¶o .108 i Danh s¸ch c¸c tõ viÕt t¾t ACID Atomicity, Consistency, Isolation and Durability API Application Programming Interface GTM Global Transaction Manager LDBS Local Database System MDBS Multidatabase System PGP Pretty Good Private PKI Public Key Infrastructure RMI Remote Method Invocation RPC Remote Procedure Call SSL Secure Socket Layer TCL Tool Command Language ii Danh s¸ch c¸c h×nh vÏ H×nh 1.1: M« h×nh m¸y kh¸ch/m¸y chñ.2: M« h×nh mobile agent .4: CÊu tróc ho¹t ®éng cña hÖ thèng mobile agent .5: KiÕn tróc hÖ thèng Agent TCL.6: KiÕn tróc hÖ thèng TACOMA.7: KiÕn tróc hÖ thèng Telescript .8: KiÕn tróc hÖ thèng Grasshopper.1: KiÕn tróc mét hÖ thèng ®a c¬ së d÷ liÖu ph©n t¸n.2: KiÕn tróc hÖ thèng Pegasus .3: KiÕn tróc hÖ thèng TCMMDB .4: KiÕn tróc hÖ thèng ACQUIRE .1: M« h×nh hÖ thèng ®a c¬ së d÷ liÖu ph©n t¸n sö dông mobile agent .2: Nguyªn t¾c ho¹t ®éng .3: KiÕn tróc bªn trong cña thµnh phÇn xö lý truy vÊn tæng thÓ.4: KiÕn tróc bªn trong cña thµnh phÇn xö lý giao dÞch tæng thÓ .5: KiÕn tróc bªn trong cña ph©n tÝch yªu cÇu.7: KiÕn tróc phiªn .8: C¸c role ngêi dïng trong Oracle .9: KÕt nèi theo m« h×nh m¸y kh¸ch/m¸y chñ .10: Oracle JDBC Driver .1: M« h×nh hiÖn thêi cña C«ng ty DÞch vô tiÕt kiÖm Bu ®iÖn .2: M« h×nh hÖ thèng míi cña C«ng ty DÞch vô tiÕt kiÖm Bu ®iÖn. 92 1 Lêi më ®Çu Ngµy nay c¸c hÖ thèng mobile agent cho phÐp c¸c agent di c mét c¸ch ®éc lËp, th«ng minh vµ tù do trong m¹ng ph©n t¸n nh»m t×m kiÕm th«ng tin hay thùc hiÖn mét tÝnh to¸n nµo ®ã ®· trë thµnh hiÖn thùc. Cã rÊt nhiÒu hÖ thèng hç trî mobile agent møc cao nh Agent TCL, TACOMA, Telescript, Aglets, Grasshopper.
Chóng lµ c©u tr¶ lêi cho c¸c th¸ch thøc ®Æt ra lµ ph¶i t×m c«ng nghÖ míi ®Ó gi¶i quyÕt vÊn ®Ò lu lîng m¹ng t¨ng do xu híng kÝch thíc m¹ng c«ng ty, Internet. ý tëng chñ ®¹o cña c«ng nghÖ mobile agent lµ ®em agent tíi gÇn d÷ liÖu cña nã tíi møc cã thÓ. §iÒu nµy gióp cho : (1) tiÕt kiÖm ®îc b¨ng th«ng; (2) gióp cho c¸c m¸y kh¸ch cã thÓ tù do lµm viÖc kh¸c vµ kh«ng nhÊt thiÕt ph¶i kÕt nèi liªn tôc; (3) thêi gian xö lý gi¶m. Mét vÝ dô sau ®©y sÏ lµm ta thÊy râ ®iÒu nµy: mét agent truy vÊn th«ng tin ph©n t¸n râ rµng sÏ ph¶i truy nhËp vµo nhiÒu c¬ së d÷ liÖu trªn c¸c m¸y chñ kh¸c nhau.
Agent nµy sÏ di c tõ m¸y chñ c¬ së d÷ liÖu nµy tíi m¸y chñ c¬ së d÷ liÖu kh¸c ®Ó thùc hiÖn lÖnh truy vÊn vµ kh«ng mang c¸c th«ng tin kÕt qu¶ trung gian trªn m¹ng. §ång thêi tÝnh di ®éng cña mobile agent sÏ cho phÐp agent di c tíi m¸y chñ n¬i d÷ liÖu lu tr÷ vËt lý. Nã trong suèt ®èi víi ngêi sö dông. Nh÷ng lîi ®iÓm nµy cho phÐp ta khai th¸c mét c¸ch cã hiÖu qu¶ d÷ liÖu ph©n t¸n trªn mét hÖ thèng c¬ së d÷ liÖu tù trÞ, ph©n t¸n trªn c¸c m¸y chñ kh«ng ®ång nhÊt nÒn t¶ng (platform) - hÖ thèng ®a c¬ së d÷ liÖu ph©n t¸n (multidatabase).
LuËn v¨n "Nghiªn cøu, ph¸t triÓn vµ øng dông c«ng nghÖ mobile agent cho hÖ thèng ®a c¬ së d÷ liÖu ph©n t¸n" nh»m môc ®Ých nghiªn cøu, thö nghiÖm tÝch hîp c«ng nghÖ mobile agent trong viÖc gi¶i quyÕt bµi to¸n truy vÊn tæng thÓ, qu¶n lý giao dÞch tæng thÓ khi x©y dùng mét hÖ thèng ®a c¬ së d÷ liÖu ph©n t¸n tÝch hîp c¸c c¬ së d÷ liÖu ®ang cã. §ång thêi, ¸p dông 2 nghiªn cøu ®ã ®Ó ph¸t triÓn vµ øng dông trong hÖ thèng th«ng tin ph©n t¸n cña C«ng ty DÞch vô TiÕt kiÖm Bu ®iÖn. CÊu tróc luËn v¨n gåm: Ch¬ng 1: Giíi thiÖu tæng quan vÒ mobile agent, kiÕn tróc cña mét hÖ thèng mobile agent theo quan ®iÓm agent vµ mét sè c¸c hÖ thèng hç trî mobile agent hiÖn nay Ch¬ng 2: Giíi thiÖu kh¸i qu¸t vÒ hÖ thèng ®a c¬ së d÷ liÖu ph©n t¸n, m« h×nh kiÕn tróc vµ mét sè hÖ thèng ®· ph¸t triÓn gÇn ®©y Ch¬ng 3: X©y dùng m« h×nh hÖ thèng øng dông mobile agent gi¶i quyÕt c¸c bµi to¸n trong ®a c¬ së d÷ liÖu thuÇn nhÊt Ch¬ng 4: øng dông m« h×nh ë ch¬ng 3 ®Ó thö nghiÖm x©y dùng øng dông xö lý vµ khai th¸c sè liÖu trong hÖ thèng ®a c¬ së d÷ liÖu ph©n t¸n cña C«ng ty DÞch vô TiÕt kiÖm Bu ®iÖn 3 Ch¬ng 1: Mobile agent 1.1 Tæng quan Cho ®Õn nay m« h×nh thêng ®îc sö dông trong c¸c øng dông ph©n t¸n lµ m« h×nh m¸y kh¸ch/m¸y chñ (h×nh 1.1: M« h×nh m¸y kh¸ch/m¸y chñ §Æc ®iÓm cña nã lµ gåm hai thµnh phÇn. Thµnh phÇn m¸y chñ cung cÊp mét tËp c¸c dÞch vô cô thÓ, cã tµi nguyªn yªu cÇu còng nh ph¬ng thøc xö lý cña c¸c dÞch vô.
Thµnh phÇn m¸y kh¸ch chØ cã nhiÖm vô ®a ra c¸c yªu cÇu vÒ dÞch vô cña m¸y chñ vµ nhËn kÕt qu¶ tr¶ vÒ. C¶ hai thµnh phÇn nµy ®îc ®Æt trong c¸c m¸y kh¸c nhau. ViÖc truyÒn th«ng gi÷a chóng th«ng thêng lµ ®ång bé tøc lµ m¸y kh¸ch sau khi göi yªu cÇu ®i tíi m¸y chñ sÏ ®îi cho ®Õn khi kÕt qu¶ cña yªu cÇu ®ã tr¶ vÒ. M« h×nh nµy cã mét sè nhîc ®iÓm sÏ ®îc tr×nh bµy chi tiÕt ë phÇn sau khi ta so s¸nh m« h×nh nµy víi m« h×nh mobile agent.
Tõ khi c«ng nghÖ mobile agent ra ®êi th× viÖc x©y dùng c¸c øng dông ph©n t¸n theo m« h×nh mobile agent (h×nh 1.2) còng ®· ®îc nghiªn cøu vµ øng dông.2: M« h×nh mobile agent VËy c«ng nghÖ mobile agent lµ g× vµ t¹i sao ngêi ta l¹i quan t©m nghiªn cøu vµ øng dông nã trong viÖc x©y dùng øng dông ph©n t¸n? C¸c phÇn sau ®©y sÏ phÇn nµo gi¶i thÝch ®îc c©u hái nµy.1 Mét sè kh¸i niÖm 1.1 Mobile agent lµ g× ? Agent b¾t nguån tõ tiÕng Hy l¹p "agein" cã nghÜa lµ "dÉn d¾t". ë møc ®é c¬ së vµ kh¸i niÖm nã ®îc coi lµ thùc thÓ cã thÓ thùc hiÖn c¸c c«ng viÖc thay cho con ngêi. VÝ dô chóng ta dù ®Þnh ®i nghØ m¸t vµ mÖt mái khi ph¶i lµm c¸c thñ tôc nh mua vÐ m¸y bay, ®Æt chç kh¸ch s¹n,. Ta cã thÓ ®Õn c¸c ®¹i lý du lÞch cã kh¶ n¨ng vµ ñy th¸c tr¸ch nhiÖm cho hä lµm c¸c c«ng viÖc 5 trªn.
Trong lÜnh vùc phÇn mÒm agent ®îc hiÓu lµ mét phÇn mÒm cã kh¶ n¨ng thùc hiÖn c¸c c«ng viÖc thay cho con ngêi. Mobile agent lµ mét tiÕn tr×nh (vÝ dô: mét ch¬ng tr×nh ch¹y) cã kh¶ n¨ng di c tõ mét m¸y cña mét hÖ thèng nµy sang mét m¸y kh¸c (th«ng thêng trong cïng hÖ thèng) ®Ó ®¸p øng c¸c yªu cÇu t¹o ra bëi c¸c m¸y kh¸ch cña chóng. VÒ b¶n chÊt, mét mobile agent sÏ thùc hiÖn trªn m¸y mµ nã khëi t¹o khi m¸y nµy hç trî nh÷ng tµi nguyªn còng nh dÞch vô mµ agent yªu cÇu ®Ó thùc hiÖn c«ng viÖc cña nã. NÕu trªn m¸y ®ã kh«ng chøa c¸c tµi nguyªn/dÞch vô cÇn thiÕt hay nã yªu cÇu tµi nguyªn/dÞch vô trªn m¸y kh¸c th× th«ng tin tr¹ng th¸i cña mobile agent sÏ ®îc lu l¹i theo ®Þnh d¹ng cho tríc vµ ®îc truyÒn tíi m¸y chøa tµi nguyªn hay dÞch vô cÇn thiÕt ®ã.
T¹i ®ã mobile agent sÏ ®îc khëi t¹o vµ sau ®ã nã sÏ thùc hiÖn t¹i m¸y míi ®ã. Cã thÓ nãi mobile agent bao gåm bèn thµnh phÇn sau: PhÇn code: c¸c ®o¹n m· lÖnh ®Ó xö lý. PhÇn d÷ liÖu: néi dung c¸c tham sè cña c¸c ®èi tîng. PhÇn tr¹ng th¸i xö lý: mçi mét agent sÏ thùc hiÖn trong mét hay nhiÒu luång (thread).
Mçi luång sÏ cã thanh ghi ®Õm riªng vµ c¸c danh s¸ch kÕt nèi riªng ®Ó lu tr÷ c¸c biÕn vµ c¸c d÷ liÖu kÕt qu¶ côc bé. PhÇn khëi t¹o ban ®Çu: trong mét sè trêng hîp phÇn nµy ®îc thªm vµo. M« h×nh mobile agent lµ sù më réng cña m« h×nh m¸y kh¸ch/m¸y chñ. Trong m« h×nh m¸y kh¸ch/m¸y chñ, c¸c thùc thÓ giao tiÕp víi nhau ®Òu cã c¸c vai trß râ rµng vµ cè ®Þnh, m¸y chñ (server) cung cÊp c¸c dÞch vô vµ c¸c m¸y kh¸ch (client) sö dông c¸c dÞch vô ®ã nªn phô thuéc chÆt chÏ vµo c¸c m¸y chñ cung cÊp c¸c dÞch mµ nã cÇn.
C¬ chÕ giao tiÕp m¸y kh¸ch vµ m¸y chñ th«ng qua giao thøc truyÒn th«ng ®iÖp.