Đăng ký Đăng nhập
Trang chủ Một số khía cạnh lý thuyết và thực tiễn trong xử lý phân tán...

Tài liệu Một số khía cạnh lý thuyết và thực tiễn trong xử lý phân tán

.PDF
110
195
60

Mô tả:

TRƯỜNG ĐẠI HỌC QUỐC GIA HÀ NỘI KHOA CÔNG NGHỆ 000 Đ Ặ N G HÀ V IN H MỘT SỐ KHÍA CẠNH LÝ THUYẾT VÀ THỰC TIEN TRONG XỬ I Ý PHÂN TÁN CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN MÁ SỐ: ỉ 0110 LUẬN VĂN TI ÍẠC SỸ KHOA HỌC Người hướng dán kỉioiì học: PGS.TSKH Nguyền Xuân Huy H à N ộ i, năm 2 0 0 1 Trang / MỰC LỤ C MỞ Đ Ầ U ............................................................................................................................. 4 BẢ N G C Á C T H U Ậ T N G Ữ V IÊ T T Ắ T ................................................................................... 6 C H U Ơ N G 1. T Ổ N G Q U A N V Ề H Ệ T H ố N G P H Â N T Á N ...................................... 8 1.1 Khái niệm về hộ thống phân t á n ...................................................................................... 8 1.2 M ô 1.3 C ác 1.3.1 1 .3 .2 hình xử lý phân tán m ở ................................................................................................. 9 đ ặ c trưng củ a hệ phân t á n ........................................................................................10 C hia sẻ tài n g u y ên ........................................................................................................ 10 Tính m ở (O p e n e s s )...................................................................................................... 11 1 .3 .3 Tính tương tranh (C o n c u rre n c y ).......................................................................... 12 1 .3 .4 Tính chịu lỗi (F au lt to le ra n c e )...............................................................................15 1 .3 .5 Tính trong suốt (T ra n sp a re n c y )............................................................................17 1 .3 .6 K h ả năn g thay đổi quy m ô ( S a c la b ility ) .......................................................... 18 1.4 C á c m ụ c tiêu khi thiết kế m ột hộ thống phân t á n ................................................ 18 1.5 C á c m ô hình hệ thống phân t á n .....................................................................................2 0 1.5.1 Phân loại m ức xử lý phân tá n .................................................................................2 0 1 .5 .1 .1 M ô hình truyền tập t i n .....................................................................................2 0 1 .5 .1 .2 M ô hình C lien t/S erver...................................................................................... 2 0 1 .5 .1 .3 M ô hình ngang h à n g .........................................................................................2 4 1 .5 .2 M ột s ố m ô hình thiết k ế hệ thống phân t á n .................................................. 2 4 1 .5 .2 .1 C á c đối tượng phân t á n ................................................................................... 2 4 1 .5 .2 .1 Phần m ểm trung g ia n ....................................................................................... 2 6 1 .5 .2 .2 Phương pháp gọi thủ tục từ x a ................................................................... 2 7 1 .5 .2 .3 Kiến true D C O M , C O R B A ............................................................................2 8 1.6 uũ nhược điểm củ a hệ thống phân tá n ....................................................................... 2 8 1.6.1 Ưii đ iể m ..............................................................................................................................2 8 1.6 .2 N hược đ iể m ......................................................................................................................2 8 CHƯƠNG 2 . M Ộ T SỐ M Ô I T R Ư Ờ N G ÚNG D Ụ N G X Â Y DỤNG H Ệ TH Ố N G PH Â N T Á N ...................................................................................... .............................2 9 2.1 Giới th iệ u ................................................................................................................................... 2 9 2 .2 M ô hinli đối tượng thành phần phân tán ( D C O M ) ............................................. 2 9 2 .2 .1 G iới th iệ u ..........................................................................................................................2 9 2 .2 .2 M ô hình đối tượng thành phần (C O M ) ............................................................ 3 0 2 .2 .3 M ô hình đối tượng thành phần phân tán ( D C O M ) .....................................31 2 .2 .3 .1 K h á i n iệ m về D C O M .......... ! ................... ................. ......................................... 31 2 .2 .3 .2 C á c đặc trưng c ơ bản củ a D C O M .............................................................. 3 2 2 .2 .4 K iến trúc D C O M ..........................................................................................................33 2 .2 .4 .1 Định vị c á c đối tư ợng........................................................................................3 4 2 .2 .4 .2 Đ ón g gói c á c đối tượng và c á c tham s ô ..................................................35 2 .2 4 .3 Quản lý liên k ế t ............................................................................................ 3 7 Luận văn tết niịhiỘỊ) cao học D ể tài: M ột sở khiu cạnh / v thuyết và thực tiễn trong x ử Ị ỷ phân tán TraiĩíỊ 2 2 .2 .4 .4 Quản lý tương tranh và c á c m ô hình phân lu ồn g............................ 38 2 .2 .4 .5 Bảo m ật.................................................................................................................4 0 2 .2 .5 M ột số nhận xét về D C O M .................................................................................. 41 2 .2 .5 .1 C ác điểm thuận lợ i.......................................................................................... 41 2 .2 .5 .2 C ác điểm không thuận lợ i.......................................................................... 41 2 .3 K iến trúc môi giới yêu cầu đối tượng chung (C O R B A )................................ 4 2 2 .3 .1 C á c thành phần c ơ bản củ a C O R B A ............................................................... 4 2 2 .3 .1 .1 Kiến truc C O R B A ...........................................................................................4 4 2 .3 .1 .2 C O R B A client và C O R B A se rv e r.......................................................... 6 2 2 .3 .1 .3 Stub và Skeleton.............................................................................................. 63 2 .3 .1 .4 C O R B A Services và C O R B A F a cilitie s.............................................. 63 2 .3 .1 .5 Giao diện lời gọi động (D I I ).....................................................................63 2 .3 .1 .6 Giao diện skeleton động (D S I )................................................................ 6 4 2.3.2 Các dịch vụ C O R B A ....... ................ ..............................................................64 2 .3 .2 .1 Dịch vụ đặt tê n .................................................................................................. 6 5 2 3 .2 .2 Dịch vụ sự k iệ n .................................................................................................6 8 2 .3 .2 .3 D ịch vụ duy trì bền v ữ n g .............................................................................7 0 2 .3 .2 .4 Dịch vụ về chu kỳ sống của đối tượng...................................................71 2 .3 .2 .5 Dịch vụ điều khiển tương tra n h ............................................................... 7 3 2 .3 .2 .6 Dịch vụ thể hiện đối tư ợ n g ........................................................................ 7 4 2 3 .2 .1 Dịch vụ quan hệ của đối tư ợ n g............................................................... 7 4 2 .3 .2 .8 Dịch vụ quản lý giao d ịc h ........................................................................... 7 5 2 .3 .2 .9 D ịch vụ truy v ấ n .............................................................................................. 75 2 .3 .2 .1 0 Dịch vụ cấp p h é p .........................................................................................75 2 .3 .2 .1 1 Dịch vụ về quyền sở h ữ u .........................................................................75 2 .3 .2 .1 2 Dịch vụ thời g i a n .........................................................................................7 6 2 .3 .2 .1 3 Dịch vụ bảo m ậ t........................................................................................... 7 6 2 .3 .2 .1 4 Dịch vụ giới thiệu đốitư ợn g....................................................................7 6 2 .3 .2 .1 5 DỈch vụ tạp h ợ p ............................................................................................ 7 6 2 .3 .3 . C ác đặc điểm của C O R B A .................................................................................. 7 7 2 .3 .3 .1 C ác điểm thuận lợ i.........................................................................................7 7 2 .3 .3 .2 C ác điểm k h ô n g thuận lợ i...........................................................................7 8 2 .3 .4 So sánh giữa DCOM và C O R B A .....................................................................7 8 2 .3 .4 .1 G iố n g n h a u ............................................................................................................. 7 8 2 .3 .4 .2 .K hác n h au ............................................................................................................7 9 2 .3 .4 .3 Nguyên tắc ánh xạ C O R B A sang C O M .............................................. 7 9 2 .3 .5 Kiến trúc C O R B A và cá c yêu cầu phần mềm trung g ia n ..................... 7 9 2 .3 .5 .1 Định nghĩa giao d i ệ n ..................................................................................... 7 9 23.5.2 X á c định địa chỉ đối tượng phục v ụ ........................................................8 0 2 .3 .5 .3 Gọi đối tượng phục v ụ .................................................................................. 8 0 2 .3 .6 C á c ứng dụng C O R B A ............................................................................................80 2 .3 .6 .1 Chương trình S e rv e r........................................................................................80 Luận văn tốt Hi>hiệp cao học Đè tài: Một so khiu cạ/ilì /Ý thuyết và thực tien iron %A iílÝ phản tán Tranq 3 2 .3 .6 .2 Chương trình Client......................................................................................... 81 2 .4 K ết luận......................................... .................................................................................... 81 C H U Ơ N G 3. C Ô N G c ụ P H Á T T R IẺ N C O R B A t r o n g c á c h ệ T H ố N G X Ử L Ý PH Â N T Á N ........................................ ........................................................ .................... 83 3.1 Giới thiệu m ột số công cụ phát triển C O R B A .....................................................83 3 .1 .1 V isiB ro k er.....................................................................................................................83 3 .1 .2 O rb ix .................................................... ................. ......................................... .......... 8 4 3 .1 .3 O rb it............................................................ ............................................8 5 3 .1 .4 E O R B ............................................................................................................. ......... 8 5 3 .1 .5 O racle Application Server (O A S )...................................................................... 85 3 .1 .6 O racle JS erv er..............................................................................................................85 3 .2 Đánh giá m ột số côn g cụ phát triển C O R B A ...................................................... 87 3 .2 .1 C ác tiêu chuẩn đánh giá công cụ phát triển C O R B A ............................. 88 3 .2 .1 .1 Đánh giá về môi trường O R B ....................................................................88 3 .2 .1 .2 Đánh giá về cá c dịch vụ đối tư ợ n g ......................................................... 91 3 .2 .1 .3 C ác tiêu ch í đánh giá k h á c .................... ......................................................91 3 .2 .2 K ết quả đánh giá m ột số côn g cụ phát triể n ......................... ..................... 9 2 3 .2 .2 .1 Đánh giá về môi trường O R B ....................................................................9 2 3 .2 .3 K ết luận..................................... .................. . 97 3 .3 Tiêu chuẩn lựa chọn công cụ C O R B A ....................................................................9 7 C H Ư Ơ N G 4 . H Ệ T H Ố N G T H Ử N G H IỆ M Ú N G D Ụ N G K IÊ N T R Ú C C O R B A ................................................................. *............................................................................9 9 4.1 L ự a chọn và m ô tả bài to án ............................................................................................9 9 4 .1 .1 Đặt vấn đ ề ..................................................................................................................... 9 9 4 .1 .2 M ô tả bài to á n ........................................................................................................... 100 4 .2 M ột số phương án thiết k ế ............................................................................................101 4 .2 .1 Dùng c ơ c h ế trao đổi thông qua c ơ sở dữ liệ u ...........................................101 4 .2 .2 Sử dụng kiến trúc C o r b a .................................................................... ................. 1 02 4 .2 .2 .1 M ô hình hệ thống........................................................................................... 102 4 .2 .2 .1 T hự c hiện hệ thống thử n g h iệ m .............................................................. 104 4 .3 Nhận xét chung về kết quả áp dụng thực tiễn ..................................................... 106 K Ế T L U Ậ N ........................................................................................................................................108 T À I L IỆ U T H A M K H Ả O .........................................................................................................] 10 Luận V'án tốt nghiệp cao học Dè tài. Một s ố khiu cạnh lý thuyết và thực tiễn tron ÍỊ x ử lý phản tán Tran É,' 6 BẢNG CÁC THUẬT NGỮ VIẾT TẮT V iết tá t T iế n g V iệt T iế n g A nh API A p p lication Program m ing In terface G ia o diện lập trình ứng dụng BOA B asic O bject Adapter Thành phần thích nghi đối tượng c ơ bản COM Com ponent O bject M odel M ô hình đối tượng thành phần CORBA C om m on O b je c t R eq u est B ro k er A rchitectu re K iến trúc m ôi trường yêu cầu đối tượng chung DCOM Distributed Com ponent O bject M od el M ô hình đối tượng thành phần phân tán DCE Distributed Computing M ô i trư ờng tín h to á n phân tán E n vironm ent D II D ynam ic Invovation Interface G iao diện gọi động D SI D ynam ic Skeleton Interface G iao diện gọi Sk eleto n động ID L In te r fa c e D e fin itio n L a n g u a g e Ngôn ngữ định nghĩa giao diện ĩ PC InterProcess C om m unication T ruyền thông liên tiến trình OLE O bject L in k Em beded Liên kết đối tượng được nhúng OMA O bject M anagem ent A rch itectu re K iến trúc quản lý đối tượng OMG O b je c t M anagem ent Group T ên gọi củ a tổ ch ứ c đưa ra cá c tiêu chuẩn về quản lý đối tượng ORB O b je c t R eq u est B roker M ôi trường yêu cầu đối tượng PO A P ortable O b je ct A dapter Thành phần thích nghi đối tượng linh động R M -O D P R e fe re n ce M odel — o p e n D istributed P rocessin g M ô hình tham chiếu xử lý phân tán m ở RPC R e m o te Procedure Call G ọ i thủ tục từ x a S1I S ta tic In te rfa c e In v o ca tio n Phương pháp g ọi g iao diện tĩnh SN M P S im p le N etw ork M anagem ent G ia o thức quản lý m ạng đơn giản P rotocol Luận văn tốt tỉíịhiệp cao học Đ ề tài: M ột sô' khí ít cạnh lý ìỉmyếr và thực tiền trong xử lý phún tủn ! 1 Trang 7 RM I Java R em ote M ethod Invocation Gọi thao tác từ x a ứng dụng trong Java Luận văn tôt nghiệp cao học Đ ề tủi: M ột sổ khiu cạnh lý thuyết và thực tiên trotìịị xử lý phún tán Trang 4 MỞ ĐẦU Trong những năm gần đây, cùng với sự phát triển củ a nền kinh tế x ã hội, nhu cầu thông tin trên diện rộng ngày càng được áp dụng rộng rãi. Đ ể đáp ứng được ycu cầu đó, nhiều tổ chức và quốc gia trên th ế giới đã đầu tư nghiên cứu c á c hệ thống xử lý phân tán, và đã đạt được những thành tựu đáng kể. Tại Việt N am , c á c hệ thống xử lý phân tán đã và đang được áp dụng trong rất nhiều lĩnh vực như: tài chính, ngân hàng, hàng không, đường sắt, bưu chính viễn thông, v.v... M ặc dù V iệt nam còn là m ột nước nghèo, và côn g nghệ thông tin là lĩnh vực còn non trẻ, nhưng c á c hệ thống xử lý phân tán được áp dụng đã phát huy được những hiệu quả nhất định. Đầu tiên có thể kể đến cá c hệ thống độc lộp, được viết trên c á c ngôn ngữ, côn g cụ không hỗ trợ m ạng, làm việc bán tự động qua truy cập m odem ch o đến c á c hệ thống có quy m ô lớn, sử dụng c á c c ơ sở dữ liệu phân tán, đường truyền tốc độ cao , và điều khiển xử lý phân tán nhờ c á c tác tử thông minh. Tuy đã đạt được m ột số bước tiến đáng khích lệ, nhưng qua thực tế c ó thể thấy rằng việc áp dụng c á c cô n g nghệ để thực hiện xử lý phân tán tại V iệt N am vẫn còn nhiều khía cạnh đáng nói. Đơn cử như cùng trong lĩnh vực bưu chính viễn thông, c á c đơn vị trên c á c địa bàn khác nhau vẫn thường phải tương tác với nhau để có thể cung cấp c á c địch vụ phục vụ khách hàng, nhưng c á c đơn vị này lại đ ộ c lộp với nhau về m ặt hành chính, nôn c á c hệ thống phục vụ tại đơn vị nào thường do đơn vị đó tự đảm nhiệm. C á c chỉ đạo, hoặc đầu tư nhằm đổng bộ hoá hộ thống từ c á c cấp quản lý phía trên thường khó thực hiện do vướng m ắc thủ tục và kinh phí. Vì vậy, nội dung củ a luận văn đề tài này đề cập đến m ột số khía cạnh lý thuyết và thực tiễn trong xử lý phân tán với m ục đích tìm hiểu c á c vấn đề còn vướng m ắc, c á c cô n g nghệ có nhiều ưu điểm để khuyến nghị áp dụng. Đề tài cũng tiến hành thử nghiệm một hệ thống xử lý phân tán áp dụng c á c khuyến nghị đã nêu như m ột hệ thống có thể áp dụng để xây dựng hệ thống thực tế. Nội dung trong luận văn được trình bày trong 4 chương với bố cụ c như sau: - C hương l . Tổn ạ qu an : G iới th iệu m ột số khái niệm mang tính tổng quan về hệ thống phân tán như; khái niệm về hệ thống phân tán, m ô hình phân tán m ở, c á c đặc trưng của hệ thống phân tán, một số m ục tiêu khi th iết k ế h ệ th ố n g phân tán, m ột s ố m ô h ìn h c á c hệ th ốn g phân tán đặc trưng về ưu nhược điểm cơ bản của hệ thống phân tán. - C hương 2 . M ộ t s ố m ô i trư ờ n ẹ ứ ng d ụ n g x â y d ự n g h ệ th ố n g p h â n tá n : G iớ i th iệu m ột sô rnô hình phân tán c h ín h đ an g dư ợc quan tâm và c á c Luận ván tốt nghiệp cao học D ề tải: Một sỏ khiu cạnh IÝ thuxết và thực tien troniỊ \ ử lý plìàn tán Trang 5 môi trường xây dựng hệ thống phân tán ứng dụng c á c m ô hình đó: môi trường kiến trúc DCOM và C O R B A . C ác kiến trúc này đểu dựa trên nguyên tắc của m ô hình đối tượng. Sau c á c trình bày về từng kiến trúc là c á c đánh giá về ưu nhược điểm , c á c so sánh và đánh giá chung về D CO M và C O R B A . - Chương 3 : Công cụ phát triển CORBA trong c á c h ệ thống xử lý phân tán : Giới th iệu m ột s ố công c ụ để phát triển hệ thống phân tán dựa trên kiến trúc Corba, so sánh, đánh giá và khuyến nghị sử dụng đối với cá c cô n g cụ này. - Chương 4; H ệ thống thử nghiệm ứng dựng kiến trúc C o rb a ; Thực hiện thử nghiệm m ột hệ thống phân tán nhỏ dựa trên kiến trúc C O R B A và m ột số nhận xét thực tế khi xầ y dựng hệ thống phân tán sử dụng kiến trúc này. Đ ể thực hiện được luận văn này, em xin được gửi lời cảm ơn sâu sắc tới c á c th ầy c ô g iá o K h o a c ô n g n g h ệ - T rư ờ n g Đ ại h ọ c q u ố c g ia H à n ộ i, và đ ặc b iệ t là PG S.TSK H Nguyễn X uân Huy đã giúp đỡ em rất tận tình. Đ ồng thời, cũng xin được gửi lời cảm ơn tới c á c đồng nghiệp đã giúp đ ỡ rất nhiều trong quá trình thực hiện. Luận văn tốt nạhiệp cao học Đè tà i: M ột so khiu cạnh /ỷ thuyết và thực tien trong x ứ lỹ phàn tán Trang H CHƯƠNG 1. TỔNG QUAN VỂ HỆ THỐNG PHÂN TÁN Tóm lược: N ội dung chính của chương s ẽ giới thiệu một s ố khái niệm mang tính tổng quan v ề hệ thống phân tán như: khái niệm về h ệ thống phân tán, mô hình phân tán m ỏ, c á c đ ặc trưng của h ệ thống phân tán, m ột s ố mục tiêu khi thiết k ế h ệ thống phân tấn, đồng thời, nội dung của chương cũng đ ề cập đến m ột s ố m ô hình c á c h ệ thống phân tán đ ặ c trưng. Cuối chương s ẽ là một sô' ưu nhược điểm c ơ bản của h ệ thống phân tán. 1.1 Khái niệm về hệ thống phân tán K h á i niệm về h ệ thống phân tán c ó thể h iểu theo nhiều m ức độ k h ác nhau, đơn giản nhất là v iệc trao đổi thông tin giữa c á c chương trình sử dụng c ơ ch ế đường ố n g , ch o đến mức độ cao hơn là sự trao đổi thông tin giữa c á c chương trình trên m ạng. N hìn chung v iệc xây dựng c á c ứng dụng phân tán phức tạp hơn nhiểu so với c á c ứng đụng tập trung. T ron g nhiều trường hợp, v iệc bắt b u ộc phải xây dựng c á c ứng dụng phân tán thường vì những lý do sau: - Y ê u c ầ u tính toán phân tá n : ứ ng dụng chạy trên nhiều m áy tính khác nhau nhằm tận dụng khả năng tính toán song song h o ặc nhằm m ục đích sử dụng khả năng tính toán của c á c m áy tính chuyên dụng. - Y ê u c ầ u x ử lý phân tá n : ú n g dụng ch ạy trên nhiều m áy tính khác nhau mới c ó để đáp ứng được yêu cầu bài toán bài toán. Trong trường hợp này, đối tượng được phục vụ, được g iải quyết trong bài toán thường ở xa đối tượng phục vụ, đối tượng giải quyết. - Y ê u cầ u tính chính x á c v à a n toàn d ữ liệu: Y êu cầu này liên quan tới c á c hệ thống cần phải đảm bảo tính chính x á c ca o và an toàn dữ liệu lớn. C á c hệ thống này thường được thiết k ế để có thể đáp ứng được yêu cầu tính toán ngay cả khi có sự c ố x ả y ra, điều này được thực hiện bằng c á ch tăng số lần tính toán ch o cù ng m ột nhiệm vụ, tăng s ố ứng đụng ch ạy dự phòng nhằm m ục đích k ịp thời phát hiện và xử lý lỗi. - C h ia sẻ tài n g u y ên : C ác ứng dụng ch ạy trên m ạng thực hiện trao đổi thông tin với nhau. C ác ứng dụng này có thể ch ia sẻ tài ngu yên của mình ch o c á c ứng dụng khác, hoặc sử dụng tài nguyên được chia sẻ với m ột quyền hạn được định nghĩa. M ột số ứng dụng phải chạy trên nhiều m áy tính vì dữ liệu được đặt phân tán trôn m ạng liên quan đến quyền Luận văn tốt nghiệp cao học Đ ể tài: Một sỏ' khiu cạnh / v thuyết và thực tiễn trong xứ ì ỷ phân tán Tran ÍỊ 9 quản lý và quyền sở hữu dữ liệu: ch o phép truy nhập và sử dụng theo quyền được ch o phép. Hệ phân tán bao gồm m ột tập c á c m áy tính tự trị, được kết nối với nhau nhờ một m ạng m áy tính, và được cài đặt phần m ềm hệ phân tán. Hiện nay c ó hai loại hẹ phân tán là: - Hê điều hành phân tán - C ác hệ ihống thông tin phân tán: C ơ sở dữ liệu phân tán, c á c hệ tính toán phân tán, c á c ứng dụng phân tán, ... Trong cá c hệ thống phân tán, môi trường m ạng đóng vai trò quan trọng trong việc phân phát thông tin đến cá c thành phần và tập hợp kết quả tính toán củ a c á c thành phần đó. C ác m áy tính kết nối với nhau trên m ạng đảm nhiệm chứ c năng truyền thông ch o c á c ứng dụng. Do chúng không chia sẻ bộ nhớ cho nhau nên không thể sử dụng c á c biến toàn cụ c để trao đổi thông tin, thông tin trao đổi giữa c á c m áy tính chỉ được thực hiện thông qua c ơ ch ế trao đổi tin báo. M ạng là tài nguyên chung củ a hệ thống do đó khi xây dựng hệ thống phân tán cần phải xem xét đến c á c vấn đề như: băng thông, cá c điểm có thể xả y ra sự cố , bảo mật và an toàn dữ liệu, đồng bộ tiến trình. 1.2 Mô hình xử lý phân tán mở V iệc phát triển c á c ứng dụng trong hệ thống phân tán thường gặp m ột số khó khăn sau: K hác hiệt chủnq lo ạ i: Trên m ạng có nhiều loại m áy - tính và thiết bị m ạng của nhiều nhà sản xuất khác nhau và c á c m áy tính được cài đặt c á c hệ điểu hành khác nhau. - K h ôn ẹ tương thích giao diện liên kết: C á c nhóm phát triển hệ thống phân tán hoàn toàn có thể tự qui định giao diện liên kết giữa c á c hệ th ố n g với n h au , d o đó c ó th ể sẽ ç â p k h ó kh ăn khi liê n kết với h ệ th ố n g phân tán do nhóm khác phát triển - K hó tích hợp: C ác phần m ềm thường được phát triển trên c á c hệ điểu hành khác nhau, c á c ngôn ngữ khác nhau, do nhiểu đơn vị độc lập phát triển, sử dụng c ơ sở dữ liệu khác nhau. Do vậy, để tích hợp được c á c phần m ềm n ày th ư ờ n g đòi hỏi nh iều thời g ia n , nhận lự c, và đôi k h i, k h ả năng tích hợp là không thề. Luận văn tốt Hiịhiệp cao học D ề tài: Mộ! sò klìia cạnh /ý thuyết và thực tiên tronq .xử lý plián tán - Tính rủi ro sản p h ẩ m c a o : X â y dựng và triển kh ai c á c hệ th ốn g phân tán thường chịu nhiều rủi ro do không tuân thủ c á c chuẩn được khuyến nghị trước, hoặc bản thân c á c khuyên nghị không đổng nhất. Vì vậy, giá thành phát triển cũng bị kéo theo. Thời gian phát triển và khả năng bảo hành bảo trì thường lớn hơn c á c hệ thống độc lập C ác tổ chứ c trên thế giới đang ngày càng chuẩn hoá dần c á c tiêu chuẩn để thiết k ế và phát triển c á c hệ thống phân tán. Với m ục đích đó, hiện nay m ô hình tham chiếu xử lý phân tán m ở đã được đưa ra với c á c điều kiện m à m ột hệ xử lý phân tán cần tuân thủ: - Đ ộc lập với thiết b ị phần cứng: cung cấp giao diện vói cá c thiết bị phần cứng củ a c á c nhà cung cấp khác nhau trong việc sử dụng tài nguyên như bộ nhớ, ổ đĩa và bộ vi xử lý. - Đ ộc ỉập với h ệ điều hành: Đ ảm bảo khả năng làm v iệc trên c á c hệ điều hành khác nhau như U N IX , W indow s N T, W indow s 9 x , Lin u x, o s / 2 ... - Đ ộc lập về ngôn ngữ cài đặt: Cung cấp khả năng giao tiếp với c á c ngôn ngữ phát triển ứng dụng phân tán như c + + , Java, P ascal, C obol... Thực tế việc xâ y dựng khung cho c á c hệ thống phân tán vẫn dựa trên m ô hình 7 lớp O SI, trong đó 3 lớp thấp (vật lý, liên kết dữ liệu, m ạng) giải quyết cá c vấn đề như phát hiện và sửa lỗi, định tu yến ...., những vấn đề này thường do hệ điều hành đảm nhiệm . Ba lớp trên (lớp giao vận, phiên làm v iệc, trình diễn) đã đư ợc sử dụng trong cá c sản phẩm nền củ a hệ thống phân tán nhằm m ục đích xử lý c á c thủ tục kết nối giữa c á c thành phần phân tán và thể hiện cấu trúc dữ liệu phức tạp củ a c á c ứng dụng, c á c sản phẩm như vậy gọi là phần m ềm trung gian. X u th ế hiện nay phần m ềm trung gian được phát triển dựa trên khung kiến trúc m ở và tuân thủ c á c qui định củ a m ô hình tham chiếu xử lý phân tán m ở. 1.3 Các đặc trưng của hệ phân tán ĩ .3.1 Chia sẻ tài nguyên T rong m ột hộ phân tán luôn có sự chia sẻ tài nguyên. C á c tài nguyên trong hệ phân tán gồm có : Phần cứng (c á c ổ đĩa, m áy in, ...), phần m ềm , và dữ liệu. Trong m ột hệ m áy tính, những người sử dụng tham gia trong hệ thống đều có thể ch ia sẻ tài nguyên của mình ch o những người sử dụng k h ác. N gược lại, họ cũn g có thể sử dụng c á c tài nguyên được người khác ch o phép. Tuy nhiên, cá c tài nguyên được chia sẻ này sẽ thường không tự động đạt được hiệu quả cao n h ấ t, dẫn đến sự lãn g phí, và k h ô n g đảm b ảo được tính b ả o an đối với v iệ c sở hữu tài nguyên. Luận vãn tốt nghiệp cao học Đ ề tời: M ột s ố khiu cạnh lý thuyết vù thực tiền trong xứ lý phân tán Trang 11 Trong một hệ thống phân tán, cá c tài nguyên dược đóng gói vật lý trong một (hoặc nhiều) m áy tính và c á c m áy khác chỉ có thể truy cập nhờ giao tiếp đã được phân định. Đổ đạt được hiệu quả ca o , việc ch ia sẻ tài nguyên phải được quán lý bởi hệ thống chương trình. Chương trình này đưa ra m ột giao diện qua đó tài nguyên được truy cập, sử dụng, cậ p nhật tính x á c thực và tính tương thích. Hiộn nay có hai m ô hình quản lý tài nguyên: a. Mô hình khách chủ: Gần đây, m ô hình này thường được sử dụng nhiều trong c á c hệ phân tán. M ô hình này gồm m ột tập c á c xử lý củ a server. M ỗi xử lý này hoạt động như m ột chương trình quản lý tài nguyên. C ác xử lý này định ra c á c kiểu tài nguyên và cho phép c á c client lựa chọn để xử lý. Trong m ô hình client — server, tất cả c á c tài nguyên chia sẻ đều được giữ và quản lý bởi c á c xử lý củ a server. Khi client cần sử ciụng m ột tài nguyên chung nào đó, client sẽ gửi yêu cầu củ a mình tới server. Server sẽ nhận yêu cầu và xét xem yêu cầu đó có phải được gửi đi từ client mình cần phục vụ không. Sau đó, server sẽ phân tích nội dung củ a yêu cầu. Nếu mức độ yêu cầu phù hợp với tài nguyên chia sẻ, server sẽ thực hiện việc chia sẻ tài nguyên củ a mình cho client. Ngược lại, yêu cầu sẽ bị từ chối phục vụ b. M ô hình đ ối tượng T rong m ô hình này, mỗi tài nguyên chia sẻ được coi như m ột đối tượng. C ác đối tượng này được x á c định duy nhất và có thể được di chuyển đến bất cứ nơi nào trên m ạng chứ không nhất thiết phải lưu trữ trên một server, nhưng vẫn không làm thay đổi tính x á c định củ a nó. Khi có một ứng d ụ ng n ào đ ó c ầ n truy cập vào m ộ t tài n g u y ê n , n ó s ẽ gửi th ôn g b á o chứa yêu cầu tới đối tượng tương ứng. Thông báo này được chuyển qua m ột thủ tục thích hợp hoặc một xử lý thích hợp để kiểm tra và hoàn th àn h c ô n g v iệ c c ủ a yêu cầ u . Sau đ ó thủ tục n ày s ẽ gử i m ộ t th ô n g b áo trả lời ch o đối tượng yêu cầu nếu điểu này được đòi hỏi. Trong m ô hình này đối tượng vừa là người sử dụng tài nguyên, đồng thời cũng là người quản lý tài nguyên. 1.3.2 Tính mở (Openess) Tính m ở củ a một hệ thống m áy tính là đặc điểm để x á c định xem liệu hệ thống có thể m ớ rộng bằng nhiều cách được không. Trong cô n g nghệ phần m ềm , m ột hộ thống được xem là có tính m ở nếu hệ thống đó đáp ứng được 2 tính chất sau: Luận văn tốt nghiệp cao học D ề tủi: M ột s ố khiu cạnh lý thuyết vù thực tiên trong xử /ý phàn tán Trang 12 - Tính d ễ tươn ẹ tác (in terop erab ility ): M ột hệ thống được gọi là dễ tương tác với hệ thống khác nếu hộ thống đó có thể: • làm việc chung trong m ột m ôi trường với c á c hệ thống khác • hệ thống đó có thể xử lý được c á c đối tượng do hệ thống khác phát sinh và ngược lại - Tính d ễ chuyển mcinq (portability): M ột hệ thống được gọi là dễ chuyển m ang nếu nó có thể làm việc trong nhiều môi trường khác nhau và trên nhiều chủng loại thiết bị khác nhau (không kén chọn môi trường, thiết bị). Khi xây dựng c á c hệ thống theo chuẩn côn g nghiệp, và nhất là c á c hệ thống phân tán, tính m ở luôn được đề cập như m ột yếu tố không thể thiếu khi thiết k ế hệ thống. M ột hệ thống có m ở rộng được hay không thường do hệ thống phần m ềm hỗ trợ, quản lý và điều khiển (phần m ềm ờ đây bao gồm cả softw are và firm w are). Do vậy, trong hệ phân tán, người ta đưa ra m ột giao diện chuẩn và coi như giao diện phần m ềm chìa khoá để c á c nhà phát triển phẩm m ềm tuân thủ khi thiết kế. Tính m ở còn được thực hiện thông qua việc cung cấp cơ ch ế truyến thông chuẩn giữa c á c tiến trình. C ơ c h ế này đảm bảo c á c ứng dụng khác nhau có thể tuân thủ để giao tiếp viới nhau m à không phụ thuộc nền, hay phụ thuộc môi trường phát triển ứng dụng. 1.3.3 Tính tương tranh (Concurrency) Hiện tượng tương tranh xảy ra khi có đồng thời nhiều tiến trình xử lý cùng tác động lên m ột đối tượng. Trong c á c hệ thống m áy tính, đối tượng ở đây có thể là c á c tài nguyên được chia sẻ, c á c chương trình ứng dụng, và thậm chí là cá c xử lý kh ác trong hệ thống. T rong hệ thống phân tán, hiện tượng tương tranh xảy ra bao gồm c ả tương tranh thông thường và c á c tương tranh đ ặc trưng của nhu cầu phân tán. Ở đây, ta không xét tới cá c tương, tranh trong nội bộ tài nguyên của m ột đối tượng (ví dụ như c á c xung đột giữa cá c bộ vi xử lý trong m ột server khi server này có nhiều bộ xử lý trung tâm hoạt động song song), Iĩià xét c á c tương tranh ở g óc độ xử lý phân tán. Hiện tượng tương tranh trong hệ thống phân tán thường được phân loại và đề phòng, ch ế ngự hay khắc phục. C ó rất nhiều kiểu phân loại khác nhau. Thông thường, có thể phân thành hai loại c ơ bản như sau: - Tương tranh chủ độn %: T ro n g hệ th ố n g phân tán , VI n h iều m ụ c đ ích khác nhau như: tận dụng khả năng củ a cá c m áy cấu hình m ạnh, tận Luận văn tốt nghiệp cao học Đ ề tà i: M ột sỏ'khiu cạnh lý thuyết và thực ỉiè/ỉ trong xử ìỷ phàn tán Trang ỉ 3 dụng kha năng tính toán song song trên nhiều m áy, hoặc phân tải tính toán, một trình ứng dụng có thổ được thực đồng thời tại nhiều m áy tính, hoặc trong bản thân một m áy tính, nhưng do c á c đối tượng khác nhau thực hiện. Do vậy có thể xảy ra c á c tương tranh được dự báo trước, những tương tranh này có thể kiểm soát được một cá ch chặt ch ẽ. Hiện tượng tương tranh ở đây được m ở rộng hơn ở khía cạnh c á c xử lý là độc lập, không giống nhau, không xung đột nhau, và có thể không đồng thời, nhưng khi có yêu cầu về chọn lựa kết quả xử lý, việc nhận định kết quả củ a xử lý nào là chính x á c sẽ rất khó khăn. Khi đó ta hiểu c á c xử lý trong hệ thống đã xảy ra tương tranh trong việc trả lại kết quả. v ề hiện tưựng này, c ó thể ví dụ rằng hai tiến trình cùng thực hiện phân tích số liệu với dữ liệu đầu vào có thể là c á c tập m ò khác nhau. Tiến trình thứ ba chịu trách nhiệm thu nhận m ột kết quả đế làm đầu vào ch o mình. V iệc lựa chọn kết quả nào trong trường hợp c ả hai kết quả đều chấp nhận được là một hiện tượng tranh. - Tươnq tran h thụ đ ộn ẹ: Tương tranh thụ động là hiện tượng tương tranh m à người ta có thể dự báo, đề phòng, c h ế ngụ, và có thể khắc phục, nhưng lại không biết chính x á c thời điểm sẽ xảy ra. Dạng tương tranh này không thể khắc phục tất cả. T rong nhiều trường hợp người ra phải c ố gắng tạo ra cá c thoả hiệp giữa c á c xử lý gây tương tranh nhằm đảm bảo hoạt động của hệ thống, v ề hiện tượng này có thể ví dụ rằng hai tiến trình cùng yêu cầu một đối tượng với quyền ưu tiên tương đương, trong khi tại thời điểm đó, đối tượng này chỉ thực hiện được tối đa một yêu cầu. Để thực hiện việc xử lý tương tranh thường phải xét nhiều khía cạnh như: nguyên nhân x ả y ra tương tranh, khả năng phục vụ của đối tượng m à ở đó c á c xử lý xảy ra tương tranh, khả năng bị lặp lại chính tương tranh này, và khả năng thoa hiệp giữa c á c xử lý. Thực tế, nhiều yếu tố trong c á c khía cạnh được đề cập không thể x á c định, hoặc không thể dự báo chính x á c bằng m ột thuật toán cụ thể. Từ đó, người ta thường tìin cá ch đề phòng và khắc phục tương tran h. Đ ê tránh tương tran h , người ta th ư ờng phải g iá m sát và điều ph ối c á c xử lý trong hệ thống. Trong hộ thống phàn tán, có thể để phòng và khắc phục tương tranh theo m ột số phương pháp: - Giảm thiểu khả năn° (ươn ẹ tran h: Như đã nói ở trên, hiện tượng tương tranh x ả y ra khi có nhiều xử lý cùng đồng thời tác động lên m ột đối tượng, nghĩa là c á c tác động này xả y ra trong cùng một khoảng thời gian At nào cỉó. Khoáng thời gian này càng lớn, kha năng xảy ra tương tran h c à n g lớn. D o v ậy, v iệ c g iả m th iểu thời gian c ó thổ g â y tư ơng tranh chính là m ột phương pháp phòng ngừa tương tranh. Luận vein tốt niịhiệp cao học Đê rủi Một sỏ khiu cạnh lý thuyết vù thực ticn iron ạ .xử /ỷ phàn tán Trang 14 T rong cá c hệ thống phân tán, thực tế khoảng thời gian có thể gây xung đột giữa c á c tiến trình xử lý là tương đối lớn. C ó thể lấy ví dụ rằng một tiến trình thực hiện n bước xử lý liên tiếp. Bước thứ i+ j nào đó bắt buộc phải k ế thừa k ết q u ả c ủ a b ư ớ c thứ /'. T h ờ i g ia n dành c h o m ộ t x ử lý c ó thể nhỏ đến mức không thể giảm được, nhưng n bước xử lý lại là một k h o ả n g thời g ia n đ án g k ể đ ối với c á c xử lý tro n g h ệ th ố n g m áy tín h . Trong hệ thống phân tán thường có đổng thời nhiều tiến trình cùng thực hiện để phục vụ nhiều đối tượng yêu cáu khác nhau. Do vậy, khi bước thứ i+ j lấy kết quả đã xử lý của bước thứ / (m à kết quả này được lưu thành tài nguyên được chia sẻ) thì kết quả này đã bị m ột đối tượng khác ra yêu cầu thay đổi. Khi đó, xung đột xảy ra sẽ làm sai lệch kết quả tính toán. Đ ể hạn c h ế c á c tương tranh kiểu này, điều đầu tiên phải thực hiện là kết quả của bước thứ / ở trên phải không được thay đổi m à vẫn không làm ảnh hưởng đến sự hoạt động của c á c tiến trình xử lý khác. Điều này có thể được giải quyết khi toàn bộ n bước trên được xử lý độc lập trước khi toàn bộ tiến trình xử lý hoàn toàn kết thúc. Hiểu theo một nghĩa khác, khi một đối tượng đưa ra yêu cầu xử lý, tiến trình thực hiện việc xử lý này có thể coi là trong suốt với đối tượng đưa ra yêu cầu , và trong suốt với c á c tiến trình khác. Toàn bộ quá trình này phải được cấp, và được server quản lý. Q uá trình đó được gọi là m ột giao dịch ( transaction ). Thời gian để m ột giao dịch hoàn thành côn g việc củ a mình có thể lớn, hoặc rất lớn, nhưng gần như được xử lý như trên m ột hệ thống độc lập, n g h ĩa là hệ th ố n g sẽ c ấ p ra m ột s e rv e r ảo , m ộ t vùng tài n g u y ên ả o là bản sao của tài nguyên thật để giao dịch này thực hiện trên đó. Khi đối tư ợng sử dụng đưa ra yêu cầu k ết th ú c xử lý , to àn b ộ bản sa o n ày m ới được cập nhật thực sự vào hộ thống để ch ia sẻ ch o đối tượng khác trên m ạ n g . T ro n g k h o ả n g thời g ian c ậ p nhạt n à y , c ó th ể x ả y ra x u n g đột với c á c tiến trình kh ác, nhưng thông thường, khoảng thời gian này tương đối nhỏ. Do vậy, khả năng gây ra tương tranh được giảm đáng kể. - K h oá tài nguyên chia sẻ: Tại cá c tài nguyên chung được chia sẻ sẽ có c á c khoá, được hiểu như cá c khoá đọc ghi. Mồi tiến trình xử lý khi gặp tài nguycn này đều phải kiểm tra khoá. Nếu tài nguyên chưa khoá, tài nguyên sẽ được tiến trình sử dụng và khoá được khoá lại. Khi nào sử dụng xong, tài nguyên sẽ được giải phóng (m ở khoá). Nếu tài nguyên đã bị khoá nghĩa là đã c ó tiến trình xử lý khác đang sử dụng. Tiến trình sẽ phải đợi đế tài nguyên được giải phóng mới có thể sử dụng được. Phương pháp khoá tài nguyên thường dược sử dụng nhiều trong trường hợp xử lý đơn luồng (c á c tiến trình lần lượt được xử lý). Luận vân tốt nghiệp cao học Đ ề tài: Một sỏ khía cạnh lý thuyết vù thực tiên trong xử/ Ý phùn rán - K h ắc phục dơ tươnạ tranh: Như đã nói ở trên, khoảng thời gian m à cá c giao dịch đưa ra yêu cẩu hoàn thành để x á c nhận cập nhật, khả năng tương tranh dễ x ả y ra nhất. C á c xử lý gây ra tương tranh này nếu mâu thuẫn nhau sẽ thực sự là m ột bài toán khó, và có thể nói là không có thuật giải tối ưu. H iện nay, v iệc đầu tư nghiên cứu để giải quyết vấn đề này vẫn được tiếp tục nhằm tìm ra giải pháp tối ưu. Tuy vậy, có nhiều tiến trình xử lý g ây ra tương tranh nhưng lại không m âu thuẫn. C ác xử lý này nếu có m ức ưu tiên như nhau, (và có thể còn có c á c ràng buộc ở nhau) sẽ dẫn đến hệ thống bị treo ả o vì c á c xử lý này không trả được tài nguyên đã ch iếm ch o hệ thống. X é t về phương diện kết quả tính toán, nếu m ột xử lý này nhường ch o xử lý k ia thực hiện trước thì vấn đề sẽ được giải quyết. T uy nhiên, c á c giao dịch này lại có cùng mức ưu tiên nên m áy tính không tự giải quyết được. K hắc phục vấn đề này, người ta thường tạo ra c á c tài nguyên ả o và chọn m ột tiến trình x ử lý nào đó đi theo tài nguyên ảo đó. C á c tiến trình còn lại tương tranh với tiến trình nói trên sẽ thực hiện trên tài nguyên thật. Tài nguyên ảo ở đây có thể làm cho xử ỉý nhầm tưởng là thật và thực hiện trên đó. Nhưng thực ch ất củ a vấn đề là xử lý đó bị ch ạy vòng rồi sẽ quay lại với tài nguyên thật. T uy nhiên, khi quay lại, thời gian xung đột đã qua vì c á c tiến trình k h ác đã kết thúc. Như vậy vấn đề đã được giải quyết. 1.3.4 Tính chịu lỗi (Fault tolerance) Khi một hệ thống m áy tính có lỗi, và bất kể nguyên nhân lỗi là do phần cứng hay phần m ềm , thì c á c chư ơng trình hoặc là đưa ra kết quả sai, hoặc sẽ bị dừng ngoài ý m uốn trước khi chú ng kịp hoàn tất việc tính toán. Lỗi ở đây hiểu theo nghĩa là c á c sự c ố vể phần cứ ng hoặc phần m ềm gây ra trong quá trình xử lý như: hỏng thiết bị phần cứng củ a hệ thống, m ất kết nối đường truyền trong quá trình xử lý, sai lệch h o ặc m ất c ơ sở dữ liệu tại m ột điểm phân tán do m ột nguyên nhân nào đ ó ... Đ ây là c á c sự c ố phát sinh (và khó tránh khỏi) trong vòng đời củ a hệ thống. C á c sự c ố ở đây không xét đến c á c lỗi cú pháp trong lập trình, hay c á c lỗi phần cứng khi thiết kế hoặc sản xuất sản phẩm. M ột ứng dụng đ ộ c lập khi gặp lỗi, nếu có sai sót thì chỉ ứng dụng đó chịu ảnh hưởng. Còn khi m ột hệ thống phân tán gặp lỗi, cả hệ thống sẽ bị ảnh hưởng. Do vậy tính chịu lỗi củ a hệ thống phân tán luôn là vấn đề được quan tâm khi thiết kế, xây dựng và triển khai hệ thống. T ín h ch ịu lỗi c ủ a hệ th ố n g phân tán thường đ ư ợ c đề c ậ p ỏ' hai k h ía cạn h : Luận văn tốt nghiệp cao học D ề tài: Một s ố khiu cạnh lý thuyết và thực tiến trong x ử / v phán tân T n iììi’ I(y - K h ả n ăn g p h á t hiện lỗi. Bao gồm việc phát hiện ra lỗ i, x á c định hoặc chẩn doán lỗi. - K h ả n àn g tự sửa lỗ i: C ác lỗi được phát hiện, và được định danh sẽ được sửa chữa. C ác lồi được chẩn đoán (c ó thể không chính x á c ) sẽ được tìm kiếm c á c giải pháp c ó thể để giúp người sử dụng lựa ch ọ n phương pháp phục h ồ i. C ác lỗi không thể chẩn đoán sẽ được cảnh báo để người sử dụng c ó biện pháp xử lý, đồng thời phục hồi về trạng thái ban đầu như trước khi tiến hành xử lý. Đ ể tăng tính ch ịu lỗi ch o m ột hệ thống m áy tính c ó thể sử dụng c á c giải pháp sau: - Tâng đ ộ d ư thừa tài nguyên p h ần cứ n q: Hệ thống sẽ dự phòng nhiều thiết bị phần cứng ngoài c á c thiết bị yêu cầu cần có . K h i gặp lỗ i, hệ thống sẽ tự động chu yển c á c xử lý tại m odule đang hoạt động trên cá c trạm c ó lỗ i sang c á c m odule dự phòng trên cá c trạm dự phòng. Khi đó, hộ thống vẫn đảm bảo hoạt động bình thường. - T ăng k h ả năng p h ụ c h ồ i c h o h ệ thốn ạ p h ần m ềm : H ệ thống phần m ềm phải đảm bảo c ó thể phát hiện lỗ i, sửa chữa lỗi hoặc ít nhất tự phục hồi về trạng thái ban đầu trước kh i tính toán. K hả năng phục hồi phải đảm bảo về tố c độ để hệ thống c ó thể vận hành bình thưòng. T ron g hệ phân tán, giải pháp thứ nhất thường không được áp dụng, hoặc ít được áp dụng vì nó sẽ làm hệ thống c ó giá thành quá cao , và gây lãng phí khi không c ó lỏi x ả y ra. D o vậy, người ta thường áp dụng việc th iết k ế c á c hệ phần m ềm có khả năng chịu lỗ i, và tự sửa lỗi. Đ ể thực hiện giải pháp này, người ta phải thiết k ế c á c thủ tụ c để x á c định lỗi và c á c thủ tụ c để xử lý lỗ i. V iệ c xá c định lỗi thường phụ th u ộc vào cá c đặc trưng riêng củ a từng hệ thống. V ớ i c á c hệ thống khác nhau, c á c lỗi gặp phải cũ n g kh ác nhau, và do đó định danh c á c lỗi này cũng khác nhau. C á c lỗi được định danh sẽ c ó thủ tục tương ứng để xử lý. C á c thủ tục này cũ ng tuỳ từng hệ thống m à có cá c h xử ỉý riêng. T ro n g trường hợp không x á c định được lỗ i, hoặc lỗi không thể sửa được, người ta phải phục hồi lại giá trị ban đầu. C ó nhiều phương pháp để thực hiện cô n g v iệc này. T hông thường nhất là dùng c á c g iao dịch như đã nói ở phẩn trên. M ỗi người sử dụng khi đăng nhập hộ thống sẽ dược định danh và cấp cho m ột g ia o địch. T ất cả c á c dữ liệu đầu vào, đầu ra, và luồng dữ liệu hoạt dộng trong toàn bộ quá trình xử lý của 11 cười sử dụng này đểu chỉ được thực hiện và quán lý trong g ia o dịch đó. Khi g ia o dịch kết thúc, c á c kếì quả xử [ý mới được cập nhật vào hộ thống. C òn nếu hệ thống gặp lỏi mà thủ tục xử lý lỗi ra lệnh L u ậ n văn tôi ngh iệp cao học D (’ tà i : M ộ t sở k h iu vạnh lý thuyết và thực tien rro iìiỉ x ử lý phán tán T ra n q 17 phục hổi dữ liệu , toàn bộ giao dịch (bao gồm cả tên g iao d ịch , dữ liệu củ a giao d ịch ) sẽ bị huỷ. Như vậy, dữ liệu chính củ a hệ thống vẫn được b ao toàn nếu g iao d ịch gặp lõ i, bị dừng giữa chừng, ngh ĩa là không thành cô n g . H ệ phân tán cũ n g cung cấp mức độ sẵn sàng cao khi đối m ặt với c á c lỗi phần cứ ng. H iện nay , người ta thường dùng c á c sản phẩm phấn cứ ng theo tiêu chuẩn cô n g n g h iệp để sử dụng ch o c á c th iết bị chính củ a hệ thống. C á c thiết bị này c ó thể th êm , bớt, hoặc thay th ế c á c m odule m à vẫn đảm b ảo sự hoạt động. C ác thiết bị này cũng thường được đặt trong m ôi trường tiêu chu ẩn về nhiệt độ, độ ẩm , ánh sáng, v.v... (như c á c tổng đài viễn thông, c á c m áy ch ủ , ...). D o vậy, tính sẵn sàng của hệ thống luôn đảm bảo. 1.3.5 Tính trong suốt (Transparency) T ín h trong su ốt là sự ch e dấu của hệ thống với người sử dụng (b a o gồm cả người lập trình ứng dụng phân tán và người sử dụng ứng dụng phân tán). V ì th ế hệ th ốn g được nhận biết như m ột thể thống nhất chứ không phải là tập hợp củ a nhiều thành phần độc lập. T ính trong suốt tạo ch o níĩirời sử dụng khả năng dề thao tá c hơn trên hệ thống. H iểu theo ngh ĩa thông thường, tính trong suốt c ó thể co i như m ột giao diện chu yển đổi (m ediation in terface) m à ở đó người sử dụng sẽ th ao tác với hệ thống bằng b ộ lệnh được chuẩn hoá. C á c lệnh này qua g ia o d iện chu yển đổi nói trên sẽ thao tác đến c á c đối tượng phù hợp trong hệ th ốn g. T ín h trong suốt là nhân tố chính trong v iệc thiết k ế phần m ềm hệ thống phân tán. T ính tro n g su ốt của một hệ thống phân tán thường được xem xét ở c á c khía cạnh sau: - T ron g su ốt truy c ậ p : ch o phép c á c đối tượng cụ c bộ, hay từ xa đều được truy cộp bằng c á c hoạt động giống nhau. - T ron g su ố t định vị: cá c đối tượng sử dụng dịch vụ không cần biết vị trí cà i đặt củ a c á c đối tượng cu ng cấp dịch vụ. - 'ĩ'romỉ su ốt tươnỉ> tran h: ch o phép nhiều xử lý được thực hiện đồng thời sử dụng thông tin ch ia sẻ m à không xảy ra xung đột. - T ron g su ất lặ p : ch o phép nhiều bản sao củ a c á c đôi tượng được sử dụng để tăng đ ộ tin cậ y và hiệu năng của hệ thống mà không ch o người sử dụng thấy được sự nhân bản đó. - T ron ẹ su ốt lỏ i: cu ng cấp khả năng chịu lỗi đê người sử dụng có thổ hoàn thành dược cò n g việc ngay cả khi hệ thống gặp lỗi về phần cứng h o ặc phần m ềm . Luận văn for nghiệp cao học Đe tài: Một s ố khiu cạnh lý thuyết và thực tiên trong xử lý phân tan T ra nạ 18 - TroníỊ su ốt di chuyển : cho phép di chu yên c á c đối tượng trong hệ thống mà không ảnh hưởng đến hoạt động củ a người sử dụng. K h a năng di chuyển thường được thể hiện khi c á c đối tượng thành phần trong hệ thống chu y ển dịch vị trí khi chuyển sang c ơ c h ế dự phòng đổ kh ắc phục lỗi tại m áy tính chính, hoặc nhằm m ục đích cân bằng tải. - T ron g su ốt hiệu năng: cho phép cấu hình lại hộ thống để tăng hiệu năng. - T ron g su ốt quy m ô : cho phép c á c thành phần trong hệ thống c ó thể thay đổi quy m ô m à không ảnh hưởng đến cấu trúc của hê thống cũ ng như hoạt động củ a hệ thống. 1.3.6 Khả nàng thay đổi quy mô (Saclabilỉty) K h ả năng thay đổi quy m ô là khả năng ch o phép hệ thống c ó thể thay đổi quy m ô m à không ảnh hưởng đến cấu trúc cũ ng như hoạt động của hệ thống. Đ ây là m ột đ ặc điểm quan trọng của hệ thống phân tán. Nó ch o phép c á c m ạng m áy tính c ó kết nối được với nhau để c ó thể sử dụng chung tài nguyên (V D như m ạng Internet). K h ả năng thay đổi quy m ô thường nhằm m ụ c đích m ở rộng và nâng cấp hệ thống, cả về phần cứ ng, kết nối m ạng cũ ng như m ở rộng hoặc nâng cấp cá c ứng dụng phần m ềm . N goài ra, v iệc thay đổi quy m ô còn nhằm m ục đích bảo an ch o hệ thống. 1.4 Các mục tiêu khi thiết kê một hệ thông phân tán M ộ t hệ phân tán khi thiết k ế cần có c á c đặc trưng cơ bản sau: - C hia sẻ tài nguyên - T ính m ở - T ính tương tranh - Tính chịu lỗi - Tính trong suốt - T ính thay đổi quy m ô V à nhằm đạt được năm m ục tiêu c ơ bản: L u ậ n văn tót lU ịhiệp cao h ọc Đ ề tài: M ộ t sỏ k h iu cạnh lý thuyết và thực tiễn troni> x ử IÝ phùn !(Ì)I T ra n g 19 - T ín h hiệu năng - Đ ộ tin cậy - K h ả năng thay đổi quy mô - T ín h nhất quán - A n toàn thông tin V ới c á c yêu cầu trên, c á c vấn đ ề cần quan tâm kh i thiết k ế m ột h ệ p h â n tán là: Đ ịn h d a n h : H ệ phân tán dựa trên CO' sở ch ia sẻ tài nguyên và sự trong suốt khi phân tán. T ên được đưa ra ch o c á c tài nguyên hay c á c đối tượng phải c ó ý nghĩa toàn cụ c và k hông phụ thuộc vào vị trí của tài nguyên hay c á c đối tượng. Chúng phải được hỗ trợ bởi hệ thống hiện tên. Hệ thống này c ó thể dịch c á c tên nhằm m ục đích để c á c chương trình c ó thể truy cập vào c á c tài nguyên c ó tên. M ột vấn đề trong thiết k ế được đưa ra là thiết k ế được c á c lư ợc đồ tên. C á c lược đổ này sẽ m ở rộng tới m ột m ức độ thích hợp, là tên nào sẽ được d ịch ra c ó hiệu quả khi gặp kết quả thích hợp ch o v iệc thực hiện. T r u y ề n th ô n g : T ăn g hiệu năng và độ tin cậ y củ a cô n g nghệ truyền thông sử dụng trong hệ phân tán nhằm m ục đích đạt được sự tối ưu của hệ thống. C húng ta đã biết cô n g nghệ truyền thông tốc đ ộ c c a o đã dược áp dụng trong cả m ạng cụ c bộ và m ạng diện rộng, tuy nhiên với m ạng tố c độ ca o c á c lóp phần m ềm có liên quan sẽ rất phức tạp. V ấn đề th iết k ế cần quan tâm là tối ưu được v iệc truyền thông trong hệ phân tán trong khi vẫn giữ lại m ô hình lập trình ở m ức cao ch o v iệc sử dụng của nó. C ấ u tr ú c p h ầ n m ề m : T ính m ở là kết quả đạt được củ a thiết k ế và xây dựng c á c thành phần phần m ềm với c á c g iao diện đã được định nghĩa. Dữ liệu trừu tượng là cô n g nghệ thiết k ế quan trọng trong hệ phân tán. C á c dịch vụ có thể co i là c á c bộ quản lý đối tượng củ a kiểu dữ liệu cần lấy. V ấn đề thiết k ế cần đặt ra ở đây là cấu trúc củ a hệ thống. N ó sẽ giúp ch o c á c dịch vụ m ới c ó thể cù n g làm việc m à không bị trùng với cá c dịch vụ đã c ó sẵn của hệ thống. P h â n tai c ô n g v iệc: Đ em lại hiệu năng cao là m ột yêu cầu của hầu hết c á c sản phẩm và nó cũng là m ối quan tâm lớn nhất củ a c á c nhà thiết k ế hệ thống và nhà lập trình. V ấn đề thiết k ế cần đặt ra với hệ phân tán là làm th ế nào để triển khai v iệc xử lý và truyền thông tới cá c tài nguyôn củ a hệ thống một cá ch hiệu qua nhất trên m ột khối cô n g v iệc thay đổi. L u ậ n vãn tố i nghiệp ca o học t ìé tài. M ộ t sô khiu cạnh lý thuyết vù thực liề n troiìỊỊ .xử lý phún rún
- Xem thêm -

Tài liệu liên quan