1. Trang chủ
  2. » Giáo án - Bài giảng

CÁC hệ THỐNG THÔNG TIN PHÂN tán

8 333 2

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 8
Dung lượng 874,44 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Hồ Bảo Quốc M Mụ ục c tiêu tiêu môn môn h họ ọc c Cung cấp kiến thức về các hệ thống thông tin phân tán trong tổ chức/doanh nghiệp như kiến trúc, các chuẩn, các mô hình, công nghệ thiết

Trang 1

Các h hệ ệ th thố ống ng thông thông tin tin

phân

TS Hồ Bảo Quốc

M

Mụ ục c tiêu tiêu môn môn h họ ọc c

Cung cấp kiến thức về các hệ thống thông tin phân tán trong tổ chức/doanh nghiệp như kiến trúc, các chuẩn, các mô hình, công nghệ thiết kế và triển các hệ thống phân tán

Các

Các k kế ếtt qu quả ả mong mong mu muố ốn n ự ựạ ạtt

ựượ ược c sau sau khóa khóa h họ ọc c

 Có khả năng phân tắch ngữ cảnh ứng dụng và lĩnh vực

ứng dụng của các hệ thống phân tán

 Nắm ựược các kiến trúc khác nhau của các hệ thống

phân tán

 Thiết kế các giải pháp phân tán và chọn phương pháp

luận phù hợp cho phát triển một hệ thống phân tán

 Hiểu và sử dụng ựược middleware cho việc thiết kế một

hệ thống phân tán

 Hiểu ựược sự cần thiết của các chuẩn các nghi thức

trong tắnh toán phân tán

 đánh giá và chọn lựa ựược công nghẹ và nghi thức

mạng cho một hệ phân tán

 Hiểu các vấn ựề trong quản lý giao tác phân tán

 Nhận thức ựược các yêu cầu về bảo mật của hệ thống

phân tán

Tài Tài liliệ ệu u tham tham kh khả ảo o

N

Nộ ộii dung dung môn môn h họ ọc c

◦ Dẫn nhập

◦ đặc trưng của các hệ thống phân tán

◦ Các mô hình hệ thống

◦ Mạng và Internet

◦ Truyền thông liên tiến trình (Inter-Process Communication)

◦ đối tượng phân tán và gọi từ xa(Distributed Objects and Remote

Invocation)

◦ Xây dựng một ứng dụng phân tán

◦ Hỗ trợ hệ ựiều hành

◦ Bảo mật

◦ Hệ thông tập tin phân tán

◦ Dịch vụ ựịnh danh (Name service)

◦ Thời gian và các trạng thái toàn cục (Time and Global States)

◦ Hợp tác và ựồng thuận (Coordination and Agreement)

◦ Giao tác và điều khiển ựồng thời

◦ Nhân bản

◦ Kiến trúc ứng dụng Java EE

◦ Kiến trúc hướng dịch vụ

◦ Kiến trúc NET

◦ Tắnh toán lưới (Grid computing)

D

DẪ ẪN N NH NHẬ ẬP

Trang 2

ðịịnh nh nghĩa nghĩa

“A distributed system consists of a collection of

autonomous computers, connected through a network

and distribution middleware, which enables computers to

coordinate their activities and to share the resources of

the system,

so that users perceive the system as a single, integrated

computing facility

Wolfgang Emmerich, 1997

“ Một hệ thống phân tán bao gồm một tập hợp các máy

tính ñọc lập ñược kết nối với nhau thông qua mạng và

một lớp phần mềm trung gian (middleware) cho phép

các máy tính này có thể hợp tác, chia sẽ tài nguyên

của hệ thống, sao cho người dùng cảm nhận hệ thống

như một phương tiện tính toán ñược tích hợp ñơn”

H

Hệ ệ th thố ống ng phân phân tán tán

“Một hệ thống phân tán bao gồm một tập hợp các máy tính ñơn ñược nối kết với nhau thông qua mạng và ñược trang bị một phần mềm quản trị phân tán

(Middleware)”

“Middleware cho phép các máy tính hợp tác hoạt ñọng, chia sẽ tài nguyên của hệ thống như : phần cứng, phần mềm, dữ

liệu”

“Người dùng cảm nhận về hệ thống phân tán như một tiên ích tính toán tích hợp mặc dù nó có thể ñược triển khai trên nhiều máy tính khác nhau, tại nhiều vị trí

khác nhau”

Coulouris et a, 2005

Các

Các tính tính ch chấ ấtt c củ ủa a m mộ ộtt h hệ ệ

th

thố ống ng phân phân tán tán

cho tất cả các người dùng

xuất

ñồng thời trên các bộ xử lý khác nhau

Wolfgang Emmerich, 1997

S

Sự ự phát phát tri triể ển n c củ ủa a công công ngh

◦Hầu hết các tổ chức chỉ có vài hệ thệ thống

 Thiếu phương tiện ñể kết nối chúng

 Chúng hoạt ñộng ñộc lập

◦Các máy tính thì lớn và giá thành cao

Từ giữa những năm với sự ra ñời của các bộ vi xữ lý mạnh

và … sự xuất hiện của mạng máy tính tốc ñộ cao

 Ngày nay: dễ dàng ñể kết nối số lượng lớn máy tính bằng hệ thống mạng tốc ñộ cao

TTạ ạii sao sao c cầ ần n các các h hệ ệ th thố ống ng

phân

 Bản chất phân tán của các tổ chức/ xí nghiệp

 Cho phép người dùng kết nối với những tài

nguyên ở xa (remote resources)

 Cho phép chia sẽ tài nguyên cho người dùng

từ xa

 Tăng cường sự chia sẽ

◦ Kinh tế

◦ Dễ hợp tác – tổ chứ ảo

◦ Dễ dàng trao ñổi

◦ Thương mại

 Tuy nhiên : ñặt ra vấn ñề an toàn

Các Các ñ ñặ ặc c tr trư ưng ng chính chính

Trong suốt (transparency) : Che

dấu sự phân tán vật lý của tài nguyên trên mạng

Hệ thống mở (open system ) :Có

thể dễ dàng mở rộng dựa trên dịch vụ ñược mô tả (cú pháp và ngữ nghĩa) theo các luật chuẩn

Mở rộng kích thước/tăng trưởng

(scalable) : dễ dàng thêm các

thành phần, người sử dụng

Trang 3

Tắnh trong trong su suố ốtt

(Transparency)

định nghĩa

Ộsự che dấu ngườii dùng và người lập trình ứng dụng về sự tồn tại

ựộc lập của các thành phần của hệ thống, sao cho hệ thống

ựược cảm nhận như một tổng thể hơn là tập hợp của các

thành phân ựộc lậpỘ

Coulouris et al

Các lại trong suốt:

Trong suốt truy xuất (Access transparency): sự khác nhau trong biểu diễn dữ

liệu và phương thức truy xuất tài nguyên

Trong suốt vị trắ (Location transparency): vị trắ tài nguyên ựược lưu trữ

Trong suốt thay ựổi vị trắ (Migration transparency): một tài nguyên có thể thay

dổi vị trắ

Trong suốt tái ựịnh vị (elocation transparency): tài nguyên có thể bị di chuyển

trong khi ựang ựược sử dụng

Trong suốt nhân bản (replication transparency): các bản của cùng một tài

nguyên

Trong suốt truy xuất ựồng thời (Concurrency transparency): một tài nguyên

có thể ựược chia sẽ cho nhiều người và bởi nhiều người

trong suốt sự cố: sự cố và khôi phục sau sự cố của một tài nguyên

Trong suốt về sự bền vững (Persistence transparency): wtài nguyên phần

mềm trong bộ nhớ hay trên ựĩa

Tắnh Tắnh m mở ở (Openness) (Openness)

mô tả và cú pháp và ngữ nghĩa của dịch vụ

 Các luật ựược hình thức hóa thành các nghi

thức (protocols)

 Các dịch vụ ựược ựặc tả thông qua một

giao diện (interfaces)

◦Sử dụng ngôn ngữ ựịnh nghĩa giao diện(Interface Definition Language (IDL)

◦Sử dụng ngôn ngữ tự nhiên ựể mô tả ngữ nghĩa

◦Cho phép một tiến trình cần một interface có thể nói chuyện với một tiến trình khác cung cấp interface ựó

◦Bản thân các interfaces là ựầy ựủ và trung tắnh

Tắnh

Tắnh m mở ở ((tt tt.) )

 Tại sao phải cần tắnh mở?

◦Khả năng kết hợp và khả năng di chuyển

( Interoperability and portability)

đòi hỏi tắnh ựầy ựủ và trung tắnh

◦Tắnh linh hoạt

Dễ dàng cấu hình hệ thống với những

thành phần khác nhau từ những nhà phát

triển khác nhau

Dễ dàng thêm một thành phần mới

Dễ dàng thay thế một thành phần ựang có

Tắnh Tắnh m mở ở ((tt tt.) )

◦ đáp ứng sự thay ựổi

 Thay ựổi nghiệp vụ (Business changes)

 Thay ựổi công nghệ (Technology changes)

 Thay ựổi ựiều hành nghiệp vụ (Business drives changes)

Tắnh

Tắnh tăng tăng tr trưở ưởng ng

((scalability) scalability)

các lĩnh vực quản trị ựộc lập

mới

phân tán

Tắnh Tắnh tăng tăng tr trưở ưởng ng ((tt tt.) )

Tăng trưởng theo kắch thước

◦ Giới hạn của kiến trúc tập trung : quá tải (bottleneck)

 Sức mạnh xử lý và lưu trữ không thể vượt qua những giới hạn của truyền thông

 Phân tán lại sinh ra sự không chắc chắn

Trang 4

Tính tăng tăng tr trưở ưởng ng ((tt tt.) )

◦Các hệ thống phân tán ñược thiết kế cho

mạng LANs dựa trên truyền thông ñồng bộ

(synchronous communication)

◦Truyền thông trên mạng WANs vốn không tin

cậy và hầu hết theo kiểu point-to-point

 LANs cung cấp cơ chế truyền thông tin cậy dựa trên

quảng bá(broadcasting) WAN cần các dịch vụ vị

trí ñặc biệt

◦Các thành phần tập trung cản trở sự tăng

trưởng về mặt ñịa lý

ð

ðẶ ẶC C TR TRƯ ƯNG NG C CỦ ỦA A H HỆ Ệ TH

THỐ Ố NG NG PHÂN PHÂN TÁN TÁN

H

Hệ ệ th thố ống ng phân phân tán tán là là gì gì ? ?

“là hệ thống trong ñó các thành

phần phần cứng hay phần mềm

ñược phân bổ trên một mạng máy

tính truyền thông và hợp tác thông

việc chuyển giao các thông ñiệp”

[Coulouris et al, 2001]

TTạ ạii sao sao ph phả ảii dùng dùng HTPT HTPT

ðơn giản là ñể chia sẽ tài nguyên

Tài nguyên có thể

ðĩa từ, bộ xử lý, máy in…

Tập tin, cơ sở dữ liệu, ñối tượng…

Các

Các v vấ ấn n ñ ñề ề chính chính c củ ủa a HTPT HTPT

 ðồng thời (Concurrency)

◦ Công việc ñược thực hiện ñồng thời trên nhiều máy

tính

◦ Làm sao quản lý ?

 Không có một ñồng hồ toàn cục (No global

clock)

◦ Các máy tính hợp tác với nhau nhờ vào các thông

ñiệp (messages)

◦ Sự ñiều phối phụ thuộc theo thời gian

◦ Tuy nhiên có những hạn chế trong việc ñồng bộ ñồng

hồ trên hệ thống.

 Sự cố (Failures)

◦ Hệ thống/ các máy tính có thể bị sự cố, mạng có thể

bị sự cố

◦ Làm thế nào ñể khoang vùng sự cố?

◦ Làm thế nào ñể tối thiểu hóa tác hại ?

Ví d dụ ụ HTPT HTPT

Internet

◦Một chuỗi các máy tính thuộc loại khac nhau ñược kết nối

◦Chúng có thể hoạt ñộng cùng nhau thông qua việc trao ñổi thông ñiệp

◦Bản chất của Internet là một cấu trsuc mở :

có thể dễ dàng thêm vào các tài nguyên mới

Mạng nội bộ (Intranets)

◦Một pần của Internet ñượ c quản trị riêng biệt trong một phạm vi nào ñó

◦ ñược kết nối với nhau thông qua mạng

Trang 5

Ví d dụ ụ HTPT HTPT

Mạng di ñộng

Các Các thu thuậ ậtt ng ngữ ữ chính chính

Dịch vụ (Service)

“Một phần tách biệt của một hệ thống máy tính quản trị một tập hợp tài nguyên liên quan và cho phép các người dùng và các ứng dụng sử dụng các chức năng của nó”

[Coulouris et al, 2001]

◦ Ví dụ,

 Truy xuất các tập tin ñược chia sẽ thông qua “dịch vụ tập

tin” (file service)

 Gởi tập tin ñến máy in thông qua “dich vụ in” (print service)

 Thanh toán tiền mua hàng thông qua “dịch vụ thanh

toán”(payment service)

◦ Trong mỗi trường hợp, chúng ta truy xuất dịch vụ thông qua tập hợp các chức năng mà dich vụ ñó cho phép (interfaces của nó)

Các

Các thu thuậ ậtt ng ngữ ữ chính chính ((tt tt.) )

Một tiến trình (Process)

“Một chương trình ñang thực thi trên

một máy tính nối mạng chấp nhận yêu

cầu từ các chương trình ñang thực thi

trên các máy tính khác ñể thực hiện

một dịch vụ và trả kết quả tương ứng”

[Coulouris et al, 2001]

Các Các thu thuậ ậtt ng ngữ ữ chính chính ((tt tt.) )

Khách – chủ (Client – Server)

◦ Các thông ñiệp yêu cầu từ client gởi ñến server

 client ñược gọi là yêu cầu (invoke) một tác vụ trên server

 Toàn bộ sự tương tác giữa client và server ñược gọi

là một sựtriệu gọi từ xa(remote invocation)

◦ Một server có thể gởi một yêu cầu ñến một server khác

 Như vậy một server cũng có thể ñược coi như một client của một server khác

◦ Thuật ngữ Client hay Server phản ánh vai trò trong giao tác thực hiện của tiến trình ñang thực thi

Tính

Tính không không ñ ñồ ồng ng nh nhấ ấtt

(Heterogeneity)

nhiều thành phần khác nhau

Mạng (Networks)

Phần cứng máy tính (Computer hardware )

Hệ ñiều hành (Operating systems)

Ngôn ngữ lập trình (Programming languages)

Các cài ñặt khác nhau của những người phát triển

khác nhau

 Truyền thông giữa các thành phần của một hệ

thống không ñồng nhất phải thông qua những

chuẩn thống nhất chung ðây chính là

MIDDLEWARE

MIDLEWARE MIDLEWARE là là gì gì ? ?

 Middleware là một tầng phần mềm (trừu tượng)

 Middleware che dấu sự không ñồng nhất

 Sử dụng nó chúng ta có thể gọi từ xa các tài nguyên mà không cần lo lắng chúng ở ñâu

 Các hệ thống trao ñổi với middleware thay vì trao ñổi trực tiếp ñến hệ thống khác

◦Ví dụ: CORBA, Java RMI

 Hầu hết các middleware chạy trên Internet

Trang 6

Tính m mở ở (Openness) (Openness)

ñược mở rộng hay cài ñặt lại bằng

nhiều cách khác nhau

công bố (API)

mọi người ñồng ý và sử dụng

hệ thống khác nhau lại với nhau

Tính Tính m mở ở ((tt tt.) )

 Ví dụ:

◦ Internet và Web?

 Các nghi thức truyền thông ñược công bố, xem

www.ietf.org

 Vì vậy người phát triển có thể sử dụng các nghi thức này ñể viết phần mềm và phát triển phần cứng

 Một hệ thống mở

◦ Các hệ thống mở ñược ñặc trưng bởi các interface

◦ Một hệ thống phân tán mở dựa trên một cơ chế truyền tin ñồng nhất

◦ Một hệ thống phân tán mở có thể ñược xây dựng từ các thành phần không ñồng nhất Tuy vậy, sự tương

ñảm

Interfaces

A

system

A system

A

system

Các h ệ th ố ng (ph ầ n m ề m và ph ầ n c ứ ng) có th ể khác nhau v ậ y làm sao

chúng có th ể k ế t n ố i v ớ i nhau ?

A network

A network

Interfaces

Interfaces: d ự a trên nh ữ ng chu ẩ n đ ã đượ c th ố ng nh ấ t

A system

Phát tri ể n h ệ th ố ng d ự a trên các interface

M ộ t interface đượ c gán k ế vào m ộ t interface khác kh ớ p

v ớ i nó

Interfaces

Sau đ ó chúng ta có th ể k ế t n ố i h ệ th ố ng m ộ t cách d ễ dàng

A

system

A

system

A network

A network

M ộ t c ấ u hình k ế

n i

M ộ t c ấ u hình k ế t n ố i

khác

Interfaces

!! CHÚ Ý!! Các interface không c ầ n t ấ t c ả gi ố ng!!

A system

A network One configuration

Chúng ch ỉ c ầ n kh ớ p v ớ i nhau để có th ể k ế t n ố đượ c

Trang 7

Sự ự b bả ảo o m mậ ậtt (security) (security)

chống lại các cá thể không ñược

pháp

chống lại các truy xuất tài nguyên

chống lại sự hư hại

Tính Tính b bả ảo o m mậ ậtt ((tt tt.) )

 Xét một truyền thông giữa Client và Server

 Chúng ta cần làm gì ñể bảo mật?

◦ Chúng ta không chỉ cần bảo mật thông ñiệp mà,

 Chúng ta cũng cần xem xét người gởi và người nhận có ñúng không

 Chúng ta cũng cần bảo ñảm nội dung thông ñiệp không

bị thay ñổi

 Chúng ta cũng cần bảo ñảm rằng các thông ñiệp không ñược phát lại

 Và nhiều thứ khác

 Kỹ thuật mã hóa có thể cung cấp khả năng ñể bảo mật

Tính

Tính tăng tăng tr trưở ưởng ng (Scalability) (Scalability)

 Một hệ thống ñược gọi là có tính tăng trưởng nếu

nó vẫn hoạt ñộng hiệu quả khi tăng tài nguyên và

sử sử dụng

 internet là một hệ thống tăng trưởng kích thước

ñáng ngạc nhiên:

Computers Web servers

1999, Dec 56,218,000 5,560,866

2003, Jan 171,638,297 35,424,956

[Coulouris et al, 2005]

Computers in the Internet

Tính Tính tăng tăng tr trưở ưởng ng ((tt tt.) )

◦Kiểm soát chi phí của các tài nguyên vật lý

◦Kiểm soát sự mát hiệu năng hệ thống

◦Ngăn ngừa các tài nguyên phần mềm chạy hết công suất

◦Tránh hiện tượng nghẽn cổ chai (bottleneck)

Ki

Kiể ểm m soát soát ssự ự c cố ố (Failure (Failure

handling)

◦Một sự cố gay nên chương trình bị treo, thao

tác bị dừng lại và sinh ra lỗi

cố thành phần

◦Nó ảnh hưởng ñến một vài tài nguyên và

một phần của hệ thống phân tán

◦Các phần khác của hệ thống vẫn hoạt ñộng

◦ðiều này có thể dẫn ñến sự không nhất quán

giữa các phần

Ki Kiể ểm m soát soát ssự ự c cố ố (Failure (Failure handling)

Phát hiện sự cố

◦Một vài sự cố có thể ñược phát hiện (checksums, etc.)

◦Một vài sự cố không thể phát hiện (internet server crashes)

◦Chúng ta cần một kế hoạch ñể quản lý tất cả các loại sự cố

Che dấu sự cố

◦Một vài sự cố có thể ñược che dấu (thông thông ñiệp không thẻ ñến ñược người nhận

có thể ñược gởi lại, một RAID arrays lưu trữ các bản sao dữ liệu, etc.)

Trang 8

Quả ản n lý lý ssự ự c cố ố (Failure (Failure

handling)

 Khả năng chịu lỗi

◦ Chúng ta có thể chịu lỗi và thông báo ñến tiến trình

và người dùng

◦ Chúng ta cần chỉ ra rõ ràng chúng ta xử lý thế nào

◦ Làm thế nào chúng ta có thể tái xây dựng lại sau sự

cố

◦ Một phuowg pháp là thông qua sự dư thừa

(redundant components)

◦ Ví dụ, DNS replications, multiple routes, database

replicata’s

◦ Nhưng nó lại có vấn ñề về tính nhất quán của các

dịch vụ ñược nhân bản này

◦ Làm thế nào chúng ta bảo ñảm tính ñúng ñắn?

ð

ðồ ồng ng th thờ ờii (Concurrency) (Concurrency)

Truy xuất vào cùng một tài nguyên

từ nhiều tiến trình khác nhau cùng một lúc

Sử dụng khái niệm giao tác

Lập lich cho các giao tác

Ngày đăng: 31/01/2015, 11:19

TỪ KHÓA LIÊN QUAN

w