Chương 1 : Tổng quan về hệ phân tán. Định nghĩa


Xét chi tiết các thao tác RPC



tải về 1.6 Mb.
trang3/21
Chuyển đổi dữ liệu26.11.2017
Kích1.6 Mb.
#34648
1   2   3   4   5   6   7   8   9   ...   21

2.2.2 Xét chi tiết các thao tác RPC.

Đóng gói các tham số: việc đóng gói các tham số để chuẩn bị truyền đi do client stub thực hiện. Client stub sẽ sắp xếp các tham số và đưa vào hàng đợi và quá trình này được gọi là parameter marshaling. Các tham số được truyền đi giúp cho server hiểu được công việc mình cần thực hiện tương ứng là gì để xác định lời gọi đến thủ tục thích hợp.

Truyền tham số: Việc truyền tham số từ client tới . Có hai cách truyền: truyền tham biến và truyền tham trị.

  • Truyền tham trị: các tham số được truyền đi là các giá trị cụ thể. Các thủ tục được gọi đến sẽ coi các tham biến được truyền kiểu tham trị như là các biến được khởi tạo cục bộ, có thể thay đổi giá trị nhưng lại không ảnh hưởng tới giá trị gốc trong lần gọi sau. Vấn đề đặt ra khi truyền tham trị là yêu cầu giữa các máy phải có sự đồng nhất về việc biểu diến dữ liệu và các kiểu dữ liệu.

  • Truyền tham biến: các tham số được truyền đi là con trỏ hay biến chứa địa chỉ của nơi chưa giá trị thực của chúng. Các thủ tục được gọi sẽ căn cứ vào địa chỉ này để tham chiếu đến giá trị khi tính toán. Khi giá trị này bị thay đổi trong khi thực hiện thủ tục thì sẽ được thông báo cho client và các lần gọi sau sẽ dùng giá trị mới đó.




    1. Các mô hình RPC mở rộng.

      1. RPC dị bộ (Asynchronous RPC).

Tư tưởng thực hiện là: client gửi tới server lời gọi thủ tục và chờ bản tin chấp nhận từ server. Phía server sẽ gửi bản tin chấp nhận về cho client thông báo đã nhận được yêu cầu và bắt đầu thực hiện yêu cầu RPC đó. Lúc này client sẽ tếp tục thực hiện công việc của mình mà không chờ kết quả từ server như ở RPC truyền thống.

Hình 7. RPC dị bộ.




      1. RPC đồng bộ trễ (Deferred synchronuos RPC):

Thực hiện hai lời gọi, một từ client và một từ server.

Client gửi tới server lời gọi thủ tục và chờ bản tin chấp nhận từ server. Phía server sẽ gửi bản tin chấp nhận về cho client thông báo đã nhận được yêu cầu và bắt đầu thực hiện yêu cầu RPC đó. Lúc này client sẽ tếp tục thực hiện công việc của mình. Khi thực hiện thủ tục xong, server sẽ thực hiện lời gọi tới client báo nhận lấy kết quả. Client thực hiện ngắt, nhận kết quả và gửi lại cho server bản tin thông báo đã nhận kết quả thành công.



Hình 8. RPC đồng bộ trễ.


2.3.3 RPC đơn tuyến (one- way RPC).

Sau khi thực hiện lời gọi thủ tục từ xa tới server, client không chờ đợi thông báo nhận yêu cầu thành công từ server mà tiếp tục thực hiện ngay các công việc khác của mình. Đó là RPC đơn tuyến.




    1. Triệu gọi đối tượng từ xa (Remote object invocation).

2.4.1 Đối tượng phân tán (Distributed object ).

Một đối tượng phân tán gồm các thành phần sau:



  • State: là các dữ liệu đã được đóng gói.

  • Method: là các thao tác có thể thực hiện trên dữ liệu.

  • Interface: là nơi để giao tiếp với các phương thức của đối tượng. Nói cách khác , các phương thức sẵn sàng thông qua interface.

Một đối tượng có thể thực thi nhiều interface và cũng có thể có nhiều đối tượng cùng thực thi một interface giống nhau.

Sự độc lập giữa các interface và các đối tượng thực thi interface cho phép ta có thể đặt một interface vào một máy nào đó trong khi chính bản thân đối tượng có thể cư trú ở máy khác.



Hình 9. Đối tượng phân tán.




      1. Các bước thực hiện triệu gọi đối tượng từ xa.

Hình 10. Triệu gọi đối tượng từ xa.


Khi cần triệu gọi các phương thức từ xa, client sẽ gửi yêu cầu đến proxy – một thể hiện của interface.

Proxy sẽ marshal (sắp xếp và đưa vào hàng theo thứ tự) các phương thức được yêu cầu vào một bản tin rồi gửi cho hệ điều hành của máy client.

Hệ điều hành của client sẽ gửi bản tin yêu cầu đó đến hệ điều hành của server.

Hệ điều hành server nhận bản tin và chuyển cho skeleton (giống server stub của RPC).



Skeleton sẽ unmarshal bản tin nhận được đẻ gửi đến interface của đối tượng có phương thức tương ứng.

Đối tượng thực thi phương thức rồi trả kết quả về cho skeleton.



Skeleton marshal kết quả nhận được rồi gửi trả về cho hệ điều hành của client.

Hệ điều hành của client nhận bản tin kết quả rồi chuyển tới cho proxy.



Proxy unmarshal bản tin đó rồi chuyển kết quả về cho client.

Chú ý là cả client va server đều sử dụng interface giống nhau.

Một số các đối tượng

Compile – time object: là các đối tượng trong các ngôn ngữ lập trình hướng đối tượng. Nó được định nghĩa như là một mẫu của class.

Runime object

Persistent Object – đối tượng kiên trì: là đối tượng vẫn tồn tại ngay cả khi nó không tồn tại trong không gian địa chỉ của tiến trình nào trên server.

Transient object – đối tượng tức thời: là đối tượng chỉ tồn tại khi server gọi đến nó, sau khi dùng xong nó sẽ được giải phóng.


Каталог: nguoidung
nguoidung -> CHƯƠng 1 TỔng quan về KỸ thuật truyền số liệU
nguoidung -> CÂU 1: Mạng máy tính là gì? A./ Các máy tính trao đổi thông tin với nhau tuân theo tập giao thức. B./ Các máy tính kết nối với nhau bằng đường truyền vật lý. C./ Các máy tính kết nối với nhau chia sẻ nguồn thông tin chung
nguoidung -> TRƯỜng tcn thá[ MƯỜi khoa công nghệ thông tin
nguoidung -> Tin hoc văn phòng
nguoidung -> Virus máy tính có thể không phá hoại gì mà chỉ nhân bản. Virus
nguoidung -> BÀi thực hành môn lập trình mạng gv trưƠng vĩnh hảo I. Mục đích
nguoidung -> CÁc phưƠng pháp xuất nhập winsock I. Cài đặt Winsock
nguoidung -> 4. Phần mềm Explorer – của HĐh windows xp
nguoidung -> Tr­êng cao ®¼ng nghÒ ®ång th¸p Khoa c ng nghÖ th ng tin
nguoidung -> MÔn học công nghệ MẠng không dâY

tải về 1.6 Mb.

Chia sẻ với bạn bè của bạn:
1   2   3   4   5   6   7   8   9   ...   21




Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2024
được sử dụng cho việc quản lý

    Quê hương