1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tiểu luận hệ phân tán: CƠ CHẾ ĐIỀU KHIỂN VIỆC THỰC HIỆN TỪ XA GIẢI THUẬT ĐẢM BẢO VIỆC LIÊN LẠC GIỮA CÁC TIẾN TRÌNH

29 359 0

Đ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 29
Dung lượng 276 KB

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

Nội dung

Để ứng dụng phần lý thuyết đã học về Hệ tin học phân tán vào trong đề tài của tiểu luận, em trình bày hai vấn đề :  Ứng dụng lý thuyết về cơ chế điều khiển việc thực hiện từ xa trong bà

Trang 1

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG

GV hướng dẫn : PGS-TS Lê Văn Sơn

Học viên : Nguyễn Trọng Ân

Chuyên ngành : Khoa Học Máy Tính

ĐÀ NẴNG, 06/2015

Trang 2

LỜI MỞ ĐẦU

Hệ tin học phân tán là hệ thống rất đa dạng, là vùng tri thức hiện đại đang được các chuyên gia công nghệ thông tin đặc biệt quan tâm và đổi mới rất nhanh chóng

Một trong những tư tưởng lớn của các hệ phân tán là phân tán hóa các quá trình xử lý thông tin và thực hiện các công việc đó trên các trạm cách xa nhau Đó

là cơ sở để xây dựng các hệ ứng dụng lớn như thương mại điện tử, giáo dục điện tử, chính phủ điện tử

Để ứng dụng phần lý thuyết đã học về Hệ tin học phân tán vào trong đề tài của tiểu luận, em trình bày hai vấn đề :

 Ứng dụng lý thuyết về cơ chế điều khiển việc thực hiện từ xa trong bài toán

Hệ kinh doanh từ xa để mô phỏng một phần nhỏ trong đề án Xây dựng hệ thống đăng kí tín chỉ qua mạng

 Trình bày nguyên lý, giải thuật để giải quyết việc đảm bảo liên lạc gắn bó giữa các tiến trình với nhau theo hai tình huống :

1 Trao đổi giữa hai tiến trình.

2 Trao đổi giữa n tiến trình (n>2).

Em xin chân thành cảm ơn thầy PGS.TS Lê Văn Sơn đã hướng dẫn và cung

cấp kiến thức và tài liệu để em có thể hoàn thành tiểu luận này

Học viên thực hiện

Nguyễn Trọng Ân

Trang 3

MỤC LỤC

CƠ CHẾ ĐIỀU KHIỂN VIỆC THỰC HIỆN TỪ XA VÀ VÍ DỤ MINH HỌA 1

GIẢI THUẬT ĐẢM BẢO VIỆC LIÊN LẠC GIỮA CÁC TIẾN TRÌNH 1

LỜI MỞ ĐẦU 2

CƠ SỞ LÝ THUYẾT 1

Điều khiển truy cập từ xa 1

I Yêu cầu từ xa 1

II Đăng ký từ xa 3

VÍ DỤ ỨNG DỤNG THỰC HIỆN TỪ XA 9

I Giới thiệu hệ thống đăng kí tín chỉ qua mạng 9

Hệ thống đăng kí tín chỉ qua mạng là một hệ thống sử dụng kết nối giữa máy chủ Server tới các máy trạm Client được đặt ở những nơi khác nhau cùng sử dụng chương trình đăng kí tín chỉ qua mạng Ưu điểm của hệ thống là: 9

II Mô hình Client-Server 9

.II.1 Giới thiệu 9

III Cơ chế điều khiển việc thực hiện từ xa 11

IV Bài toán minh họa 12

.IV.1 Mô tả 12

.IV.2 Giải quyết yêu cầu từ xa 12

.IV.3 Thực hiện đăng ký từ xa 13

VẤN ĐỀ ĐẢM BẢO LIÊN LẠC GIỮA CÁC TIẾN TRÌNH TRONG HỆ PHÂN TÁN 15 I Việc đồng bộ giữa các thực thể trao đổi thông tin qua lại 15

II Bản chất của các thông điệp 15

III Lai lịch (định danh) của các tiến trình 16

IV Các khả năng xử lý lỗi trong khi truyền tin 20

V Ví dụ minh hoạ 20

.V.1 Trường hợp 2 tiến trình 20

.V.2 Trường hợp n tiến trình 22

KẾT LUẬN 25

TÀI LIỆU THAM KHẢO 26

Trang 4

CHƯƠNG I

CƠ SỞ LÝ THUYẾT Điều khiển truy cập từ xa

Giới thiệu các bước để thực hiện việc điều khiển từ xa thông qua bài toán về

hệ kinh doanh từ xa trong giáo trình hệ tin học phân tán nhằm làm cơ sở để áp dụng phân tích trình bày trong ví dụ minh họa ở phần sau

I Yêu cầu từ xa

Giả sử một khách hàng muốn được cung cấp thông tin và thể hiện yêu cầu

đó qua một truy vấn Bên kia, sau khi tiếp nhận, việc truy tìm trong cơ sở dữ liệu được tiến hành Nếu có thông tin cần tìm thì thông tin đó sẽ được chuyển lại cho người yêu cầu

Theo bài toán, ví dụ có một khách ở thành phố A muốn biết thông tin về giá

cả của một mặt hàng do một bộ phận ở thành phố B ở xa quản lý Để đáp ứng được yêu cầu này đòi hỏi hệ thống phải có khả năng thực hiện hàng loạt các thao tác được xác định:

 Nhận biết thông tin nằm tại vị trí nào (gọi là vấn đề trỏ thông tin); tức là phải biến đổi tên của thành phố B thành tên của hệ thống cục bộ quản lý thông tin của thành phố A để hệ thống viễn thông có thể nhận dạng được

và có thể gửi thông tin đến đúng địa chỉ Tên của hệ thống cục bộ phải là tên duy nhất và không được tùy tiện thay đổi

 Sau khi đã trỏ đúng vào địa chỉ chứa thông tin, hệ phải có khả năng tiếp nhận và ghi lại các yêu cầu chỉ dẫn

 Biên dịch các yêu cầu này thành dạng lệnh có thể thực hiện được để có thể truy tìm thông tin

Trang 5

 Thực hiện công việc mang tính cục bộ hệ thống như: kiểm tra quyền truy cập thông tin, thống kê số lượng người truy cập, lập hóa đơn, thanh toán…

 Nếu tìm được thông tin theo yêu cầu thì gửi nó cho hệ thống yêu cầu.Sau đây là cơ chế hoạt động có thể cài đặt trong A và B theo mô hình Client/Server:

Hệ thống A Hệ thống B

Phatyeucau(B,yc)

Nhanlai(kq)

Lặp lại Nhanyeucau(s, nh)

Nếu (yêu cầu hợp thức) thì

Bắt đầu Tracuucsdl Thongke Guiketqua (s, kq) Kết thúc

Nếu không Guithongbao (s,tb)Cho đến khi đúng

Trường hợp tra cứu vừa nêu là đơn giản bởi vì phép toán diễn ra độc lập Có rất nhiều trường hợp phức tạp hơn, trong đó một phép tra cứu lại phụ thuộc vào các phép xử lý khác trước đó Đây là giao dịch không thể tiến hành bằng một lệnh hoặc

là một hàm mà phải được tiến hành bằng thủ tục truy vấn Thủ tục này có khả năng liên kết tự động các tra cứu sơ đẳng lại với nhau

Chương trình truy vấn đầy đủ có thể được cài đặt tại máy Client hoặc tại máy Server Hai giải pháp này khác nhau ở bản chất và khối lượng thông tin trao đổi giữa các trạm với nhau

Một trong những vấn đề cần phải quan tâm là độ tin cậy của thông tin Thông tin là đúng tại thời điểm mà Server đọc nó, nhưng có thể sai khi Client nhận được; điều này liên quan đến việc làm tươi thông tin trong CSDL Nói một cách tổng quát

là cần phải có những giải pháp hữu hiệu cho việc truy cập đồng thời vào dữ liệu dùng chung

Trang 6

Trong thực tế, những trường hợp nêu trên hoàn toàn có thể diễn ra ví dụ như

có một khách hàng tại A đề nghị mua hàng hóa H tại B và C Anh ta có thể nhận được lời chấp nhận với một lượng cụ thể nhưng không có hoặc không đủ tại B và C Trong khi truy cập để báo cho khách thì số lượng này cũng vừa được cập nhật Nói tóm lại, khách nhận được thông tin mà trên thực tế không còn tồn tại nữa

Hình 3 Đăng ký từ xa

Ta cũng cần phải lưu ý là việc hợp đồng phương tiện chuyên chở phải khớp với nhau trong cùng khoảng thời gian Hiện tượng đó cho phép ta liên tưởng đến sự gắn bó dữ liệu (Coherence) trong khi ta nghiên cứu hệ điều hành cho các hệ tập trung

Trong CSDL của hệ cục bộ thành phố B chứa các thông tin về hàng hóa, còn phương tiện vận tải lại chứa trong CSDL của hệ cục bộ thành phố C Việc đăng ký (ký hợp đồng) được tiến hành xuất phát từ khách hàng ở thành phố A ngay trên hệ cục bộ của bộ phận tại thành phố này

Trang 7

Để đáp ứng yêu cầu đăng ký từ xa vừa nêu trên, ta có thể cài đặt tại hệ cục

bộ ở A một đoạn chương trình như sau:

Đoạn chương trình trên cho thấy rằng sau khi nhận được thông tin về trạng thái hàng hóa tại B và phương tiện vận tải tại C chương trình sẽ lần lượt thực hiện các lệnh sau:

1 Đăng ký sơ bộ mua hàng tại B trong ngày t.

2 Nếu việc đăng ký đó thành công thì đăng ký tiếp phương tiện vận tải tại C.

3 Lặp lại cho đến khi hết thời hạn cho phép.

Khi thực hiện chương trình tại A sẽ kích hoạt việc thực hiện chương trình ở

B Tương tự như vậy, khi ta thực hiện chương trình đăng ký từ B sẽ là nguyên nhân của việc thực hiện chương trình tại C

Sau khi xem xét kỹ đoạn chương trình nêu trên, người ta nhận thấy rằng phương pháp được thể hiện bằng đoạn chương trình trên sẽ có tác dụng chỉ với một

cặp <đăng ký hàng hóa, đăng ký phương tiện> duy nhất Việc đăng ký như vậy là

đơn trị và khó sử dụng cho công việc thực tế

Nếu ta vận hành nhiều chương trình cùng một lúc thì hậu quả diễn ra khá nghiêm trọng Do việc đăng ký hàng hóa chỉ diễn ra sơ bộ, cho nên nó có thể bị

Dang_ky_cho_hang(C,t) {Đăng ký chuyên chở}

Ok:=TrueKết thúcNếu không huy_dang_ky(AB,t)t:=sau(t)

Kết thúc

Trang 8

đăng ký bởi NSD khác Trong trường hợp đó danh sách hàng hóa mà ta cứ tưởng là chính thức trở thành hàng hóa ảo.

Nhằm khắc phục tình hình nêu trên, người ta xây dựng chương trình cài đặt tại hệ cục bộ A theo một kiểu khác như sau:

Rõ ràng, ở đoạn chương trình trên ta có hàm nguyên thủy

de_nghi(B,DS(hh,t), danhsach(pt,t)) cho phép xác định tại B loại hàng hóa theo yêu

cầu, số lượng, ngày chuyên chở đến C và phương tiện chuyên chở… Như vậy, hàm

nguyên thủy dang_ky_hang_hoa(AB,hhl,t) không còn cho kết quả sơ bộ như trước

đây Giải pháp này cho phép rút ngắn được số lần truy cập và các thông điệp có thể,

nhưng nó chỉ đúng khi mà giữa hai phép tra_loi (bang(hhl,ptl,t)) và

dang_ky_hang_hoa(AB,hhl,t) không có đăng ký nào khác chen vào Vì thế ta phải

cài then cho đoạn chương trình trên bằng hai động tác:

Bắt đầudang_ky_cho_hang(C,hh,t) {Đăng ký chuyên chở}

Ok:=TrueKết thúcNếu không t:=sau(t)Kết thúc

…then_cai(B)

…mo_then_cai(B)

Trang 9

Hay nói cách khác là ta áp dụng nguyên lý loại trừ tương hỗ giống trong lĩnh vực hệ điều hành các máy tính tập trung Tất cả các truy cập vào trạm dữ liệu từ

trạm A cần phải đảm bảo được bao bởi then_cai(A) và mo_then_cai(A) và tương tự như vậy tại C bằng then_cai(C) và mo_then_cai(C) Do đó, việc gọi thủ tục

dang_ky_hang_hoa(AB,hhl,t) sẽ đồng bộ dữ liệu ngay cả trên trạm cục bộ A và

đương nhiên trạm này cũng được đóng khung

Việc tổ chức đăng ký từ xa như trên cũng đặt ra cho chúng ta nhiều vấn đề cần phải giải quyết Sau đây, ta sẽ xem xét các hệ quả đó

1 Các yêu cầu hợp đồng mua bán và chuyên chở kiểu như trên diễn ra đồng thời theo chiều A-B và B-A có thể dẫn đến bế tắc

Thực tế cho thấy các dãy:

được thực hiện lần lượt trên A và B

2 Tình hình trên có thể được hoàn thiện nếu loại trừ tổng quát cho việc truy cập vào dữ liệu của một trạm là không cần thiết Ta chỉ cần then cài và mở then có chọn lọc trên các dữ liệu trên các dữ liệu liên quan đến hàng hóa hay phương tiện vận chuyển

Như vậy, ta phải đưa tham số mới trong các hàm nguyên thủy Then_cai và

Mo_then_cai nhằm xác định chính xác dữ liệu nào cần phải khống chế khi truy cập.

Chính vì vậy, giải pháp nêu trên cần phải bổ sung thêm:

then_cai(B), then_cai(A), then_cai(A), then_cai(B)

Trang 10

Như vậy, loại trừ tương hỗ được áp dụng với từng dữ liệu riêng biệt và thực

sự tránh được bế tắc

3 Bây giờ ta giả sử rằng HKDTX cho phép hợp đồng ở cả hai thành phố A

và B Ta có thể gặp bế tắc dữ liệu liên quan đến hàng hóa Một trong những biện pháp phòng chống hiện tượng nêu trên là đặt toàn bộ chương trình đăng ký hợp đồng vào đoạn găng trải đến tận tất cả các trạm có liên quan Nhưng biện pháp này

tỏ ra không hiệu quả nhiều và rất tốn kém Người ta cũng đã nghiên cứu một vài giải pháp cho phép thực hiện song song các chương trình đăng ký mua bán hàng hóa

Điểm chung nhất của các giải pháp này là:

 Phát hiện xung đột trong hệ

 Loại bỏ ra khỏi quá trình thực hiện các chương trình phát sinh xung đột

 Cho phép tái lập lại việc thực hiện các chương trình bị loại bỏ do xung đột

Ok:=TrueKết thúcNếu không t:=sau(t)

Kết thúc

Mo_then_cai(hd, A)

Trang 11

 Đề phòng trường hợp một yêu cầu nào đó phải chờ vô thời hạn mà không được đáp ứng.

Trang 12

CHƯƠNG II

VÍ DỤ ỨNG DỤNG THỰC HIỆN TỪ XA

Trong phần này chủ yếu là vận dụng phần lý thuyết về vấn đề điều khiển từ xa đã nêu trong chương I (ví dụ Hệ kinh doanh từ xa (HKDTX) trong Thương mại điện tử) để ứng dụng minh họa về cơ chế điều khiển việc thực hiện

từ xa vào việc xây dựng hệ thống đăng kí tín chỉ qua mạng ở các trường đại học.

I Giới thiệu hệ thống đăng kí tín chỉ qua mạng

Hệ thống đăng kí tín chỉ qua mạng là một hệ thống sử dụng kết nối giữa máy

chủ Server tới các máy trạm Client được đặt ở những nơi khác nhau cùng sử

dụng chương trình đăng kí tín chỉ qua mạng Ưu điểm của hệ thống là:

 Quản lý tín chỉ đã đăng kí dễ dàng

 Hỗ trợ tư vấn chọn môn cho nhiều ngành khác nhau

 Đăng kí tín chỉ nhanh, dễ dàng, hoạt động trơn tru

Với những đặc điểm nêu trên, đăng kí tín chỉ qua mạng được xem là chương trình sử dụng cơ chế điều khiển việc thực hiện từ xa với các yêu cầu như: tiếp nhận yêu cầu nhận danh sách tín chỉ chưa đăng kí từ các máy Client và yêu cầu gửi danh sách tín chỉ được đăng kí đến máy chủ Server

II Mô hình Client-Server

.II.1 Giới thiệu

Mô hình Client/Server là mô hình tổ chức trao đổi thông tin trong đó mô tả cách mà các máy tính có thể giao tiếp với nhau theo một phương thức nhất định Phương thức này là một chiến lược tổ chức phân cấp mà trong đó có một máy tính đặc biệt phục vụ các yêu cầu về lưu trữ, xử lý, tính toán tất cả các máy trên mạng Kiểu tổ chức tổng quát của mô hình này là một mạng LAN được thiết lập từ nhiều máy tính khác nhau, trong đó một máy tính gọi là Server Một chương trình client chạy từ bất kỳ máy tính nào trong mạng cũng có thể gởi yêu cầu của mình đến

Trang 13

Server, khi server nhận được các yêu cầu này thì nó sẽ thực hiện và gởi kết quả về cho Client.

Hình 1 Mô hình Client/Server

Có nhiều mô hình được sử dụng trong các chương trình mạng nhưng mô hình Client/Server là mô hình chuẩn Một Server là một quá trình, quá trình này chờ

sự liên hệ từ một Client Một phiên làm việc điển hình của mô hình này như sau:

 Phía Client gởi một yêu cầu thông qua mạng đến Server để yêu cầu một số dạng dịch vụ nào đó như lấy tên máy Server, lấy đồng hồ hệ thống, đăng

ký cấp bằng …

 Phía Server được khởi động trước trên hệ thống máy tính Sau khi khởi động nó sẽ chờ Client liên hệ nó để yêu cầu một số dịch vụ Quá trình của Server thành chia ra 2 kiểu:

 Khi chỉ có một yêu cầu của Client được Server phục vụ tại một thời điểm thì gọi đó là Server lặp

 Khi Server có thể phục vụ đồng thời nhiều yêu cầu từ Client gởi đến gọi đó là Server đồng thời

Client/Server là mô hình tổng quát nhất, trên thực tế thì một Server có thể được nối tới nhiều Server khác nhằm làm việc hiệu quả hơn Khi nhận được một yêu cầu từ Client, Server này có thể gửi tiếp yêu cầu vừa nhận được cho Server khác ví dụ như Database Server vì bản thân nó không thể xử lý yêu cầu này được Máy Server có thể thi hành các nhiệm vụ đơn giản hoặc phức tạp

Ví dụ như một máy chủ trả lời thời gian hiện tại trong ngày, khi một máy Client yêu cầu lấy thông tin về thời gian nó sẽ phải gửi một yêu cầu theo một tiêu chuẩn do Server định ra, nếu yêu cầu được chấp nhận thì máy Server sẽ trả về thông

Trang 14

tin mà Client yêu cầu Có rất nhiều các dịch vụ Server trên mạng nhưng nó đều hoạt động theo nguyên lý là nhận các yêu cầu từ Client sau đó xử lý và trả kết quả cho client yêu cầu Thông thường chương trình Server và Client được thi hành trên hai máy khác nhau Cho dù lúc nào Server cũng ở trạng thái sẵn sàng chờ nhận yêu cầu

từ Client nhưng trên thực tế một tiến trình liên tác qua lại (interaction) giữa Client

và Server lại bắt đầu ở phía Client, khi mà Client gửi tín hiệu yêu cầu tới Server Các chương trình Server thường đều thi hành ở mức ứng dụng (tầng ứng dụng của mạng)

Sự thuận lợi của phương pháp này là nó có thể làm việc trên bất cứ một mạng máy tính nào có hỗ trợ giao thức truyền thông chuẩn cụ thể ở đây là giao thức TCP/IP Với các giao thức chuẩn này cũng giúp cho các nhà sản xuất có thể tích hợp nhiều sản phẩm khác nhau của họ lên mạng mà không gặp phải khó khăn gì Với các chuẩn này thì các chương trình Server cho một dịch vụ nào đấy có thể thi

hành trên một hệ thống chia sẻ thời gian (timesharing system) với nhiều chương

trình và dịch vụ khác hoặc nó có thể chạy trên chính một máy tính các nhân bình thường Có thể có nhiều chương Server cùng làm một dịch vụ, chúng có thể nằm trên nhiều máy tính hoặc một máy tính

III Cơ chế điều khiển việc thực hiện từ xa

Trong mô hình Cilent/Server, các bước cơ bản của việc thực hiện từ xa:

 Client gởi yêu cầu cho Server

 Server tiếp nhận, xử lý yêu cầu từ Client gởi lên

 Server trả lời lại cho Client

(1) Gởi yêu cầu

(3) Trả lời (2) Xử lý yêu cầu

Ngày đăng: 20/11/2016, 17:08

HÌNH ẢNH LIÊN QUAN

Hình 3. Đăng ký từ xa - Tiểu luận hệ phân tán: CƠ CHẾ ĐIỀU KHIỂN VIỆC THỰC HIỆN TỪ XA  GIẢI THUẬT ĐẢM BẢO VIỆC LIÊN LẠC GIỮA CÁC TIẾN TRÌNH
Hình 3. Đăng ký từ xa (Trang 6)
Hình 2. Quá trình truy cập từ xa - Tiểu luận hệ phân tán: CƠ CHẾ ĐIỀU KHIỂN VIỆC THỰC HIỆN TỪ XA  GIẢI THUẬT ĐẢM BẢO VIỆC LIÊN LẠC GIỮA CÁC TIẾN TRÌNH
Hình 2. Quá trình truy cập từ xa (Trang 14)
Hình 7. Trường hợp 2 tiến trình - Tiểu luận hệ phân tán: CƠ CHẾ ĐIỀU KHIỂN VIỆC THỰC HIỆN TỪ XA  GIẢI THUẬT ĐẢM BẢO VIỆC LIÊN LẠC GIỮA CÁC TIẾN TRÌNH
Hình 7. Trường hợp 2 tiến trình (Trang 23)
Hình 8. Trường hợp n tiến trình - Tiểu luận hệ phân tán: CƠ CHẾ ĐIỀU KHIỂN VIỆC THỰC HIỆN TỪ XA  GIẢI THUẬT ĐẢM BẢO VIỆC LIÊN LẠC GIỮA CÁC TIẾN TRÌNH
Hình 8. Trường hợp n tiến trình (Trang 25)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w