TRƯỜNG ĐẠI HỌC QUỐC GIA HÀ NỘI
KH O A C Ô N G N GH Ệ
0 0 0
ĐẶN G HÀ VINH
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ẢNG C Á C TH U ẬT N G Ữ V IÊT T Ắ T 6
CHUƠNG 1. T Ổ N G Q UA N V Ề H Ệ T H ố N G PH ÂN T Á N
8
1.1 Khái niệm về hộ thống phân tá n 8
1.2 Mô hình xử lý phân tán m ở 9
1.3 Các đặc trưng của hệ phân tán 10
1.3.1 Chia sẻ tài nguyên 10
1.3.2 Tính m ở (O p en ess) 11
1.3.3 Tính tương tranh (C oncurrency) 12
1.3.4 Tính chịu lỗi (Fault tolerance) 15
1.3.5 Tính trong suốt (Transparency) 17
1.3.6 K hả năng thay đổi quy m ô (S a cla 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 20
2 .2 .3 .1 K hái niệ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 32
2.2.4 Kiến trúc DCOM
.
.
33
2.2.4.1 Định vị các đối tượng 34
2 .2.4.2 Đóng gói các đối tượng và c á c tham s ô 35
2.2 4.3 Quản lý liên k ế t
.
37
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ồng
38
2.2.4.5 Bảo m ật 40
2.2.5 Một số nhận xét về DCOM
41
2.2.5.1 Các điểm thuận lợi 41
2.3.2.11 Dịch vụ về quyền sở hữu 75
2.3.2.12 Dịch vụ thời g ia n 76
2.3.2.13 Dịch vụ bảo m ật 76
2.3.2.14 Dịch vụ giới thiệu đối tượng 76
2.3.2.15 DỈch vụ tạp hợp 76
2.3.3. Các đặc điểm của CO RBA 77
2.3.3.1 Các điểm thuận lợi 77
2.3.3.2 Các điểm không thuận lợi 78
2.3.4 So sánh giữa DCOM và C O RB A 78
2.3.4.1 G iống n h a u 78
2 .3.4.2 .Khác nhau 79
2.3.4.3 Nguyên tắc ánh xạ CORBA sang C O M 79
2.3.5 Kiến trúc CORBA và các yêu cầu phần mềm trung gian
79
2.3.5.1 Định nghĩa giao diện 79
23.5.2 X á c định địa chỉ đối tượng phục vụ 80
2.3.5.3 Gọi đối tượng phục v ụ 80
2.3.6 Các ứng dụng CO RBA 80
2.3.6.1 Chương trình Server 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 % AiílÝ phản tán
Tranq 3
2.3.6.2 Chương trình Client 81
2 .4 Kết luận
.
81
CHUƠNG 3. CÔN G c ụ PHÁT TR IẺN C O RB A t r o n g c á c h ệ TH ốN G
X Ử L Ý PHÂN TÁ N
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ượng
91
3.2.1.3 Các tiêu chí đánh giá khác
.
91
3 .2.2 Kết quả đánh giá một số công cụ phát triển
.
92
3.2.2.1 Đánh giá về môi trường O R B 92
3.2.3 Kết luận
.
.
97
3.3 Tiêu chuẩn lựa chọn công cụ CO RBA 97
CH ƯƠNG 4. H Ệ TH Ố N G TH Ử N G H IỆM ÚNG D Ụ N G K IÊN TR Ú C
C O R B A
* 99
4.1 Lựa chọn và mô tả bài toán 99
Distributed Component Object
M odel
M ô hình đối tượng thành phần
phân tán
D CE Distributed Computing
Environment
M ôi trường tính toán phân tán
DII Dynamic Invovation Interface
Giao diện gọi động
DSI Dynamic Skeleton Interface
Giao diện gọi Skeleton động
IDL Interface D efinition Language
Ngôn ngữ định nghĩa giao diện
ĩ PC
InterProcess Communication
Truyền thông liên tiến trình
O L E Object Link Embeded
Liên kết đối tượng được nhúng
OM A
Object Management
Architecture
Kiến trúc quản lý đối tượng
OM G
O bject M anagement 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
O R B
O bject Request Broker
Môi trường yêu cầu đối tượng
POA Portable O bject Adapter
Thành phần thích nghi đối tượng
Tại Việt Nam, 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ù Việt nam còn là một nước nghèo, và công 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ông cụ không hỗ trợ mạng,
làm việc bán tự động qua truy cập modem cho đế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ông nghệ để thực hiện xử lý phân tán tại Việt Nam 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ông 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:
- Chương l. Tổn ạ quan : 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, một số m ô hình c á c hệ thống 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.
- Chương 2 . M ộ t s ố m ô i t r ư ờ n ẹ ứ n g d ụ n g x â y d ự n g h ệ t h ố n g p h â n tá 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
Khái niệm về hệ thống phân tán có thể hiểu theo nhiều mức độ khác nhau, đơn
giản nhất là việc trao đổi thông tin giữa các chương trình sử dụng cơ chế
đường ống, cho đế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. Nhìn chung việ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. Trong nhiều trường hợp, việc bắt
buộ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 hoặ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: úng 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 giả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à an 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 cao 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 cho 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.
- Chia sẻ tài nguyê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ể chia sẻ tài nguyên của
mình cho 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
phần mềm này thường đòi hỏi nhiều thời gian, nhận lực, và đôi khi, khả
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 phẩm ca o: X â y dựng và triển khai các hệ thống 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 việc trên các hệ điều
hành khác nhau như U N IX, Windows NT, Windows 9 x , Linux, 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, Pascal, Cobol
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 OSI, 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 tuyế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 việ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. Xu 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ở.
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
Trong 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 nguyên, nó sẽ gửi thông 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ành công việc của yêu cầu. Sau đó thủ tục này sẽ gửi m ột thông báo
trả lời cho đố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ông 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:
Trang 11
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 (interoperability): 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
mang nếu nó có thể làm việc trong nhiều môi trường khác nhau và trê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 cho mình.
Việ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 t r a n 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, chế 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ả. Trong 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
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ý. Quá 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ông 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,
nghĩa là hệ thống sẽ cấp ra một server ảo, m ột vùng tài nguyê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 sao này mới
được cập nhật thực sự vào hộ thống để chia sẻ cho đối tượng khác trên
m ạng. Trong khoảng thời gian cập nhạt này, có thể xảy ra xung độ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ể.
- Khoá 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
- Khắ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. Hiện nay, việ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
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
- Khả năng phá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àng 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 cho 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 phần cứnq: 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ó. Khi gặp lỗi, hệ
thống sẽ tự động chuyển các xử lý tại module đang hoạt động trên các
trạm có lỗi sang các module 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 khả năng phục hồi cho hệ thốn ạ phầ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 khi tính toán. Khả 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.
Trong 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. Do vậy, người ta thường áp dụng việc thiế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ụ thuộ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ũng khác nhau, và do đó định danh các lỗi này cũng khác nhau. Các lỗi được
dề thao tác hơn trên hệ thống. Hiểu theo nghĩa thông thường, tính trong suốt
có thể coi như một giao diện chuyển đổi (mediation interface) mà ở đó người
sử dụng sẽ thao tác với hệ thống bằng bộ lệnh được chuẩn hoá. Các lệnh này
qua giao diện chuyển đổi nói trên sẽ thao tác đến các đối tượng phù hợp trong
hệ thống. Tính trong suốt là nhân tố chính trong việc thiết k ế phần mềm hệ
thống phân tán.
Tính trong 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:
- Trong suốt truy cập: cho 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.
- Trong 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 cung cấp dịch vụ.
- 'ĩ'romỉ suốt tươnỉ> tranh: cho phép nhiều xử lý được thực hiện đồng thời
sử dụng thông tin chia sẻ mà không xảy ra xung đột.
- Trong suất lặp: cho 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 cho người sử
dụng thấy được sự nhân bản đó.
- Tron ẹ suốt lỏi: cung cấp khả năng chịu lỗi đê người sử dụng có thổ
hoàn thành dược còng việc ngay cả khi hệ thống gặp lỗi về phần cứng
hoặ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
Tra nạ 18
- TroníỊ suốt di chuyển: cho phép di chuyê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. Kha 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 chuyển dịch vị trí khi chuyển sang cơ chế 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.
- Trong suốt hiệu năng: cho phép cấu hình lại hộ thống để tăng hiệu
năng.
Với các yêu cầu trên, các vấn đ ề cần quan tâm khi thiết k ế một hệ phân tán
là:
Đ ịnh danh : Hệ phân tán dựa trên CO' sở chia sẻ tài nguyên và sự trong suốt khi
phân tán. Tên được đưa ra cho các tài nguyên hay các đối tượng phải có ý
nghĩa toàn cục và khô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 cho việc thực hiện.
T ru yền thông: Tăng hiệu năng và độ tin cậy của công 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.
Chúng ta đã biết công nghệ truyền thông tốc độc cao đã 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 độ cao các lóp phần
mềm có liên quan sẽ rất phức tạp. Vấn đề thiết k ế cần quan tâm là tối ưu được
việ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 cho việc sử dụng của nó.
C ấu trú c phầ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 giao diện đã được định nghĩa. Dữ liệu trừu
tượng là công nghệ thiết k ế quan trọng trong hệ phân tán. C ác dịch vụ có thể
coi 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 cho các dịch vụ mới có thể
cùng 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ông việ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 việ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ông việc thay đổi.
Luận vãn tối nghiệp cao 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
Tra nạ 20
Luận văn tô) nghiệp cao học
D ề tài: M ột sò khía cạnh /ý thuvết vù thực tiễn tron ịỉ xử lý phân tán
Tran I* 2 1
Cơ ch ế truyền tin sử dụng truyền tin báo giữa các tiến trình (IPC), nó cho phép
cài đặt các liến trình Client và Server trên các máy tính khác nhau.
M ô hình Client/Server đóng vai trò quan trọng trong các hệ thống phân tán, nó
có các đặc trưng sau:
- Client và Server là các module chức năng với các giao diện xác định.
Các chức năng thực hiện của Client hoặc Server có thể gồm nhiều chức
năng con, việc cài đặt các ứng dụng Client hoặc Server không nhất thiết
phải trên máy chủ mà có thể cài đặt tại bất cứ máy nào trên mạng.
- Quan hệ Client/Server được thiết lập giữa hai module khi Client đưa ra
ycu cầu dịch vụ và được Server đáp lại. Khái niệm Client và Server chỉ
]à tương đối, một module có thể đóng vai trò Server đối với module này
nhưng lại đóng vai trò Client đối với module khác.
- Trao đổi thông tin giữa các module được thực hiện thông qua có chế
truyền tin báo. Tất cả các yêu cầu của Client được tập hợp thành tin báo
để chuyển đến Server và ngược lại các kết quả trả về cũng được đặt
trong các tin báo để chuyển đến O ien t.
- Trao đổi tin báo giữa Client và Server thường được thực hiện theo cơ
ch ế hỏi đáp.
- Client và Server được cài đặt trên các máy tính khác nhau và được nối
với nhau trên mạng, v ề mặt lý thuyết, trên cùng một máy có thể cài đặt
đồng thời module Client và module Server, tuy nhiên trong thực tế
thường các module này được cài đặt trôn các máy khác nhau.
Với cá c đặc điểm trên, mô hình Client/Server có thể cài đặt theo hai mức:
- Mức dịch vụ nền: tạo cơ sở để phát triển, hỗ trợ và quản lý các ứng
dụng Client/Server.
- Mức ứng dụng: là các phần mềm cung cấp các chức năng nghiệp vụ
- Q uản lý tập tru n g: V iệc quản lý tập trung được thực hiện bằng cách sử
dụng cá c công cụ giám sát và hỗ trợ từ trung tâm
Tiến trình Client G iao thức
trao đổi
lớp trên
< — ►
Tiến trình Server
Phần mềm trung
gian Client
(M iddleware)
Phần mểm trung
gian Server
(M iddleware)
Dich vu Dich vu
Dich vu
Dịch vụ
cục bộ mạng mạng
cục bộ
Hê điều hành và
Hê diều hành và
thiết bị phần cứng
thiết bị phần cứng
Trao đổi thông tin lớp vật lý
Hỉnh 1.1 Các thành phần cơ bản trong mó hình Client/Server
Luận văn tốt ttiịhiệp cao học
De tài: M ột sô khía cạnh lý thuyết vù thực tiền troiHỊ
,\
li' IV phân tán
Hình 1.1 thể hiện các thành phần cơ bản trong mô hình Client/Servcr, bao
gồm :
- Đồng hộ hoạt động giữa Client và Server
Luận văn rết HỊịhiệp cao học
tìé tài M ộ! sò kìĩía cạnh lý thuyết và thực tiền trong xử lý phàn tán
Trang 24
- Xử lý điều khiển truy nhập
- Server M id dlew are giám sát các yêu cầu từ phía Client và gọi các tiến
trình Server tương ứng, nó thực hiện các chức nãng sau:
• Nhận các yêu cầu từ phía Client và chuyển các yêu cầu đó cho
tiến trình Server
• K iểm tra bảo mật hệ thống
• X ử lý tương tranh khi đồng thời nhận được nhiều yêu cẩu từ
phía Client
• Nhận kết quả xử lý của tiến trình Server và chuyển đến Client
• Giám sát và xử lý lỗi
ì' .5.1.3 Mô hình ngang hàng
M ô hình ngang hàng tương tự như mô hình Client/Server, nhưng các tiến trình
tương tác có thể là Client, Server hoặc đồng thời là Client và Server.
1.5.2 Một sô mô hình thiết kê hệ thống phân tán
ỉ .5.2.1 C ấc đối tượng phân tán
Xu thế xây đựng phần mềm hiện nay hầu hết đều dựa trên quan điểm hướng
đối tượng. Tuy nhiên trong môi trường mạng các đối tượng được cài đặt trên
cá c m áy khác nhau, do đó việc thiết kế và cài đặt các ứng dụng phải dựa trên
các đối tượng bị phân tán. Nói cách khác việc xây dựng các ứng dụng mạng
dựa trên hai quan điểm: Hướng đối tượng và hệ thống phân tán.
Luận văn tốt nghiệp cao học
Đ ề tài: M ột sô khít) cạnh
/ý
thuyết và thực tiểu trong xử ỉỷ phân tán