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

Tính trong suốt của một hệ thống phân tán

13 1,8K 5

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 13
Dung lượng 1,63 MB

Nội dung

1 Tính trong suốt của một hệ thống phân tán sự che dấu người 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ư

Trang 1

1) Tính trong suốt của một hệ thống phân tán

 sự che dấu người 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 hcủa các thành phân độc lập

 Các loại trong suốt :

Trong suốt truy xuất (Access transparency) : người dùng không biết được

là đang truy xuất đến tài nguyên cục bộ hay tài nguyên nằm trên một vị trí khác trên hệ thống vì mọi tài nguyên đều có cách truy xuất giống nhau

 Trong suốt vị trí (Location transparency): người dùng không biết cũng như không quan tâm vị trí của các tài nguyên trên hệ thống vì vị trí của chúng không ảnh hướng đến cách thức truy xuất

 Trong suốt thay đổi vị trí (Migration transparency) : một tài nguyên có thể thay đổi vị trí mà không ảnh hưởng đến hoạt động của hệ thống

◦  Trong suốt tái định vị (elocation transparency) : ta có thể chuyển tài nguyên từ máy này sang máy khác mà không làm ảnh hưởng đến sự hoạt động của hệ thống trong khi đang sử dụng tài nguyên này

◦   Trong suốt nhân bản (replication transparency): Ta có thể nhân bản một tài nguyên và đặt ở nhiều vị trí khác nhau nhưng người dung không biết sự tồn tại của các nhân bản này

◦   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 , nhưng người dung không biết về sự chia sẻ tài nguyên này

◦   trong suốt sự cố: Nếu có sự cố tại một vị trí thì hệ thống phải tự động khắc phục bằng cách truy xuất đến tài nguyên nằm trên vị trí khác, sau khi sự cố đã được khắc phục thì tự động cho phép truy xuất lại tài nguyên

◦Trong s ốt về sự bền vững (Persistence transparency): ): che giấu việc di chuyển tài nguyên từ bộ nhớ ngoài vào bộ nhớ trong và ngược lại

2) Quá trình Marshalling và Unmarshalling trong phương thức gọi đối tượng từ xa

 Marshalling : Khi một stub truyền một yêu cầu tới một đối tượng skeleton, nó phải đóng gói các tham số (hoặc là các kiểu dữ liệu nguyên tố, các đối tượng hoặc cả hai) để truyền đi, quá trình này được gọi là marshalling

 Unmarshalling : Tại phía skeleton các tham số được khôi phục lại để tạo nên các kiểu dữ liệu nguyên tố và các đối tượng, quá trình này còn được gọi là

unmarshaling

Trang 2

3) Sơ đồ gọi phương thức của các đối tượng ở xa thông qua lớp trung gian được

cụ thể hoá như sau:

Computer B

Computer A

A1

A2

C1- stub

B1_stub

Computer C

C1 – Skel

C1

B1

B1 — Skel

Trang 3

Hình 8.4

 Ta có đối tượng C1 được cài đặt trên máy C Trình biên dịch rmic.exe sẽ tạo ra hai lớp trung gian C1_Skel và C1_Stub Lớp C1_Stub sẽ được đem

về máy A Khi A1 trên máy A gọi C1 nó sẽ chuyển lời gọi đến lớp C1_Stub, C1_Stub chịu trách nhiệm đóng gói tham số, chuyển vào không gian địa chỉ tương thích với đối tượng C1 sau đó gọi phương thức tương ứng

 Nếu có phương thức của đối tượng C1 trả về sẽ được lớp C1_Skel đóng gói trả ngược về cho C1_Stub chuyển giao kết quả cuối cùng lại cho A1 Nếu khi kết nối mạng gặp sự cố thì lớp trung gian Stub sẽ thông báo lỗi đến đối tượng A1 Theo cơ chế này A1 luôn nghĩ rằng nó đang hoạt động trực tiếp với đối tượng C1 trên máy cục bộ

 Trên thực tế, C1_Stub trên máy A chỉ làm lớp trung gian chuyển đổi tham

số và thực hiện các giao thức mạng, nó không phải là hình ảnh của đối tượng C1 Để làm được điều này, đói tượng C1 cần cung cấp một giao diện tương ứng với các phương thức cho phép đối tượng A1 gọi nó trên máy A

4) Corba

 CORBA còn được gọi là ngôn ngữ đặc tả giao tiếp (IDL – Interface Description Language)

 Là kiến trúc trung gian của các ứng dụng phân tán

 Có thể chạy trên mọi nền tảng

 Có thể tự định vị các đối tượng trên môi trường phân tán

 Các đối tượng có thể được viết bằng bất kỳ một ngôn ngữ lập trình nào

 Cấu trúc của Corba

Trang 4

ORB

Network

C++

Corba

Object

Delphi Corba Object

Java Corba Object

Trang 5

ORB (Object Request Broker)

• Các đối tượng sau khi tạo ra bởi các ngôn ngữ lập trình khác nhau phải được gọi thông qua một chương trình môi giới trung gian của CORBA gọi là ORB

• ORB hoạt động nhờ ngôn ngữ đặc tả IDL

• Dựa vào IDL, ORB sẽ biết được tên phương thức cần gọi, đối số, trị trả về,…Từ đó ORB có thể gọi phương thức của đối tuợng

• ORB hoàn toàn trong suốt (transparent) đối với lập trình viên và người sử dụng

Intermidiate class

C++

Client

Java Corba Object

IIOP

Trang 6

GIAO THỨC IIOP

• Được định nghĩa dựa trên TCP/IP

• Cho phép các ORB của các ngôn ngữ khác nhau có thể giao tiếp với nhau

• Nhờ đó các đối tượng CORBA hiện thực bởi các ngôn ngữ khác nhau có thể giao tiếp với nhau

• Nhưng vẫn còn có một vấn đề Trong khi các ứng dụng tự do truyền thông bất

cứ nơi nào trong hệ thống, thì hệ thống vẫn còn là hệ thống khép kín Ít nhất, ứng dụng khách của bạn đã phải sử dụng cùng một công nghệ như là ứng dụng máy chủ Ngoài ra, các hệ thống không được thiết kế, theo một quy tắc, để truy cập từ bên ngoài tổ chức riêng lẻ đã tạo ra chúng

5) SOAP Web Service :Là dịch vụ web dựa trên nền tảng XML và HTTP ,sự trao đổi các thông báo dựa trên SOAP giữa các hệ thống

 Các thông báo này bao gồm XML, là một tiêu chuẩn mã nguồn mở dựa trên văn bản, bất cứ ai có thể truy cập được từ bất kỳ ứng dụng nào (ứng dụng bất kỳ là ứng dụng được thiết kế để chấp nhận nó) Điều này mở rộng thế giới cho ứng dụng của bạn để bao gồm bất cứ ai có thể tiếp cận

nó trên mạng của bạn

 Một dịch vụ Web dựa trên SOAP liên quan đến việc gửi thông báo XML như được hiển thị trong Liệt kê 1.

Liệt kê 1 Một dịch vụ Web dựa trên SOAP

<SOAPenv:Envelope xmlns:SOAPenv="http://schemas.xmlSOAP.org/SOAP/envelope/"

xmlns:xsd="http://www.w3.org/2001/XMLSchema"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<SOAPenv:Body>

<req:getNumberOfArticles xmlns:req="http://daily-moon.com/CMS/">

<req:category>classifieds</req:category>

</req:getNumberOfArticles>

</SOAPenv:Body>

</SOAPenv:Envelope>

 Các thông báo này chuyển từ một hệ thống này sang hệ thống khác, thường là thông qua HTTP

Hệ thống thu nhận dịch các thông báo, làm những gì mà nó được hỗ trợ để làm và gửi trả lại một đáp ứng dưới dạng thông báo SOAP khác.

Trang 8

1 RMI

Trang 9

2 Corba

3 SOA

Webservices

Trang 10

RMI Corba SOA Ngôn Ngữ Chỉ hỗ trợ ngôn ngữ Java -Các đối tượng có

thể viết bằng những ngôn ngữ lập trình khác nhau,

-có thể được viết bằng nhiều ngôn ngữ lập trình khác nhau

Giao tiếp -Stub ở Client

-Skeleton ở Server

giao tiếp với nhau thông qua đối tượng trung gian Object Request Broker

-Thông qua WSDL,UDDI

Phần Chung Đối tượng server tạo Stub

và Skeleton,các đối tượng clien muốn gọi phương thức của đối tượng server phải lấy stub về cài đặt trên client và chỉ có client

có server Stub thì mới gọi được phương thức của server(khác biệt quan trọng nhất)

Giống RMI -đối tượng yêu cầu dịch vụ và

cung cấp dịch vụ hoàn toàn độc lập với nhau

-bất kỳ đối tượng nào đều có thể gọi dịch vụ

Đăng ký

dịch vụ -Server đăng ký dịch vụ thông qua RMI Registry, Giống RMI Đối tượng cung cấp dịch vụ sẽ đăng ký thông tin dịch vụ cho

Trang 11

khi đối tượng clien tìm đối tượng sẽ thông qua RMI Registry, RMI Regitry

sẽ trả về Stub

Service Registry, thông tin đăng

ký gồm WSDL,UDDI -khi đối tượng sử dụng dịch vụ

sẽ tìm kiếm thông qua Service Registry,Service Registry sẽ trả

về địa chỉ và WSDL,UDDI của dịch vụ và đối tượng sử dụng dịch vụ sẽ gọi trực tiếp đối tượng cung cấp dịch vụ thông qua WSDL,UDDI

Cách thức

truyền dữ

liệu

các kiểu dữ liệu nguyên tố-bất kỳ đối tượng nào có khả năng tuần tự hóa đều

có thể được truyền như một tham số hoặc được trả về từ phương thức từ xa.

-Các đối tượng được đặt tả bằng ngôn ngữ

IDL(Interface Description Languege) -các ORB giao tiếp với nhau qua giao thức IIOP(Internet Interop erapility Protocal)

-giao tiếp với nhau thông qua SOAP(Service-Oriented Architectures)

6) Cơ sở dữ liệu phân tán

1. Các đặt trưng của CSDL Phân Tán

o Độc lập cục bộ

o Không phụ thuộc vào một nút trung tâm

o Tính đáp ứng cao

o Độc lập vị trí v ật l ý

o Độc lập phân mảnh (fragment)

o Độc lập nhân bản (replica)

o Xử l ý câu truy vấn phân tán

o Quản lý giao tác phân tán

o Độc lập phần cứng

o Độc lập hệ điều hành

o Độc lập mạng

o Độc lập hệ quản trị cơ sở dữ liệu

2. Các vấn đề cần giải quyêt của một CSDLPT

Trang 12

o Điều khiển dữ liệu ngữ nghĩa (Semantic Data Control):Bảo đảm cho phép các người thực hiện các tác vụ (operations) lên CSDL phải bảo đảm tính nhất quán dữ liệu của CSDL

 Quản lý khung nhìn

 Kiểm sóat an tòan dữ liệu

• Kiểm soát quyền đăng nhập =>bảo đảm chỉ những người được cấp phép mới có thể đăng nhập vào CSDL

• Kiểm sóat quyền thao tác => bảo đảm các người có quyền đăng nhập chỉ thao tác đúng với những gì mình được phép

• Mã hóa dữ liệu Ngăn chặn các đăng nhập «bất hợp pháp »

 Kiểm soát tính nhất quán dữ liệu

• Xác định các ràng buộc toàn vẹn trên lược đồ toàn cục

• Xác định các ràng buộc toàn vẹn trên lược đồ cục bộ

• Bảo đảm các ràng buộc tòan vẹn cục bộ như đối với CSDL tập trung

•   Đối với các RBTV tòan cục không được bảo đảm từ RBTV cục bộ thì phải tìm ra giải pháp để chi phí kiểm tra là thấ p nhấ t

o Quản lý giao tác phân tán (Distributed Transaction Management)

o Xử lý câu truy vấn phân tán (Distributed Query Process)

o Điều khiển truy xuất đồng thời (Concurrence Control)

o Điều khiển khôi phục sau sự cố (Recovery)

3. Các vấn đề cần giải quyết khi thiết kế một CSDL phân tán

o Đối với một hệ phân tán tổng quát

 Phải quyết định vị trí phân bố dữ liệu và chương trình trên các máy trên hệ thống mạng cũng như có thể phải thiết kế

cả hệ thống mạng

o Đối với một HQTCSDL phân tán

 Nơi đặt HQTCSDL phân tán

 Nơi đặt các ứng dụng chạy trên CSDL

o Chiến lược phân tán

 Từ trên xuống (Top down)

• Xuất phát từ một lược đồ toàn cục để xây dựng các lược đồ cục bộ

• Hệ thống thuần chủng

 Từ dưới lên (Bottom – up)

• Tích hợp các lược đồ cục bộ đã có sẳn

Trang 13

• Hệ thống đa chủng

o Phân mảnh

 Chúng ta không thể chỉ phân tán các quan hệ !!!

 Đơn vị phân mảnh sẽ như thế nào là hợp lý ?

• Quan hệ ?

o Truy xuất thường trên các khung nhìn (view) : chỉ là tập con của quan hệ

o Đòi hỏi nhiều xử lý

• Các phân mảnh của quan hệ

o Cho phép xử lý đồng thời trên các mảnh của một quan hệ

o Cho phép truy vấn tin song hành

o Một khung nhìn được định nghĩa trên nhiều mảnh => đòi hỏi nhiều xử lý

o Khó kiểm sóat dữ liệu ngữ nghĩa (semantic data control)

• Các lọai phân mảnh

o Phân mảnh ngang

 Phân mảnh ngang nguyên thủy

 Phân mảnh ngang dẫn xuất

o Phân mảnh dọc

o Phân mảnh tổ hợp

• Không nhân bản

o CSDL được phân hoặch : mỗi mảnh được phân

bổ trên mỗi vị trí khác nhau

o Có nhân bản

o Nhân bản toàn bộ : mỗi mảnh được phân bổ lên tất cả các vị trí

o Nhân bản một phần : mỗi mảnh chỉ được phân

bổ lên vài vị trí

• Nguyên tắc chủ đạo

o Nếu truy vấn chỉ đọc > truy vấn cập nhật thì việc nhân bản là thuận lợi ngược lại thì nhân bản có thể gây nên nhiều vấn đề

o Quản lý truy xuất đồng thời

o Tối ưu hóa câu truy vấn

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

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w