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

báo cáo tiểu luận lập trình mạng nâng cao lập trình bằng các phương pháp phân tán để điều khiển bãi đổ xe

35 516 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 35
Dung lượng 337,79 KB

Nội dung

Nội dung chủ yếu trình bày của đề tài được phân bố trên ba chương : - Ch ươ ng 1 : Phần cơ sở lý thuyết những vấn đề chung nhất của hệ tin học phân tán làm cơ sở cho các phần sau của đề

Trang 2

ĐỀ TÀI :

LẬP TRÌNH BẰNG CÁC PHƯƠNG PHÁP

PHÂN TÁN ĐỂ ĐIỀU KHIỂN BÃI ĐỔ XE PHÂN TÁN ĐỂ ĐIỀU KHIỂN BÃI ĐỔ XE

Giáo viên h ướ ng d ẫ n : PGS.TS Lê V ă n S ơ n

Ng ườ i th ự c hi ệ n : Lê Quốc Dũng

L ớ p : Khoa h ọ c máy tính

Trang 3

 Mục tiêu nghiên cứu của đề tài nhằm tìm hiểu về s ự g ắ n bó d ữ li ệ u

và l ậ p trình b ằ ng ph ươ ng pháp phân tán để đ i ề u khi ể n bãi đổ xe, d ự a trên đồ ng h ồ lôgíc để giả i quy ế t trình t ự c ậ p nh ậ t thông tin nh ấ t thi ế t ph ả i gi ố ng nhau trên các trạm trong hệ phân tán

tin nh ấ t thi ế t ph ả i gi ố ng nhau trên các trạm trong hệ phân tán

 Nội dung chủ yếu trình bày của đề tài được phân bố trên ba chương :

- Ch ươ ng 1 : Phần cơ sở lý thuyết những vấn đề chung nhất của hệ tin học

phân tán làm cơ sở cho các phần sau của đề tài

- Ch ươ ng 2 : Nội dung của bài toán hệ quản lý bãi đổ xe và nêu ra những vấn đề

không gắn bó dữ liệu trên các trạm

- Ch ương 3 : Lập trình bằng phương pháp phân tán để điều khiển bãi đổ xe

Những nguyên lý và thuật toán sắp xếp các thông điệp đến dựa trên đồng hồ

lôgíc (nội dung của giải thuật được trình bày theo giải thuật Lamport)

Trang 4

II.1 Đặ t v ấ n đề

•1 Nhìn chung, các ti ế n trình k ể các ti ế n trình xu ấ t phát t ừ các ứ ng d ụ ng

độ c l ậ p mu ố n truy c ậ p vào các tài nguyên v ớ i s ố l ượ ng v ố n r ấ t h ạ n ch ế

hay truy c ậ p vào thông tin dùng chung cùng m ộ t lúc Tr ườ ng h ợ p này g ọ i hay truy c ậ p vào thông tin dùng chung cùng m ộ t lúc Tr ườ ng h ợ p này g ọ i

truy c ậ p t ươ ng tranh

Vì v ậ y, t ươ ng tranh là nguyên nhân chính c ủ a các xung độ t gi ữ a các ti ế n trình mu ố n truy c ậ p vào tài nguyên dùng chung đ ây là m ộ t trong nh ữ ng nguyên nhân ph ả i th ự c hi ệ n c ơ ch ế đổ ng b ộ hoá các ti ế n trình.

Trang 5

II.2 TR Ậ T T Ự T Ừ NG PH Ầ N

•v ấ n đề đồ ng b ộ hoá đượ c gi ả i quy ế t thông qua c ơ ch ế lo ạ i tr ừ t ươ ng h ỗ

C ơ ch ế này cho phép s ắ p đặ t (xác l ậ p tr ậ t t ự) hoàn toàn các s ự ki ệ n

C ơ ch ế này cho phép s ắ p đặ t (xác l ậ p tr ậ t t ự) hoàn toàn các s ự ki ệ n

Trong th ự c ti ễ n, nói m ộ t cách chính xác, có m ộ t h ệ th ố ng v ấ n đề v ề đồ ng

b ộ hoá ch ỉ đ òi h ỏ i tr ậ t t ự t ừ ng ph ầ n Chính vì v ậ y tr ậ t t ự hoá t ừ ng ph ầ n

gi ữ a các s ự ki ệ n mà các ti ế n trình c ủ a nó c ầ n ph ả i đồ ng b ộ là v ấ n đề c ầ n

ph ả i quan tâm gi ả i quy ế t.

Trong các h ệ th ố ng phân tán, vi ệ c đồ ng b ộ hoá ch ỉ đặ t ra duy nh ấ t v ấ n đề

thi ế t l ậ p m ộ t tr ậ t t ự gi ữ a các s ự ki ệ n Gi ữ a các tr ạ m khác nhau, tr ậ t t ự đ ó

ch ỉ có th ể hi ệ n đượ c thông qua vi ệ c trao đổ i các thông đ i ệ p v ớ i nhau.

Trang 6

II.2 TR Ậ T T Ự T Ừ NG PH Ầ N

Gi ả s ử r ằ ng ta có th ể xác đị nh m ộ t tr ậ t t ự gi ữ a các s ự ki ệ n c ủ a h ệ phân tán

nh ờ vào quan h ệ đượ c ký hi ệ u là → và g ọ i là “ có tr ướ c ” hay “ ở ngay

nh ờ vào quan h ệ đượ c ký hi ệ u là → và g ọ i là “ có tr ướ c ” hay “ ở ngay

Trang 7

II.3 GI Ả ĐỊ NH CÁC Đ I Ề U KI Ệ N CHUNG

• Các h ệ phân tán đượ c xây d ự ng trên c ơ s ở các tr ạ m làm vi ệ c đượ c

m ắ c n ố i v ớ i nhau (n ố i m ạ ng) M ỗ i m ộ t tr ạ m có b ộ nh ớ riêng c ủ a mình

và tuy ệ t đố i không có b ộ nh ớ chung.

và tuy ệ t đố i không có b ộ nh ớ chung.

1 H1 Một trạm trong các trạm đều có thể liên lạc với các trạm còn lại

trong hệ

2 H2 Không có lỗi truyền thông tin và không mất thông điệp

3 H3 Trật tự nhận trên trạm j của dãy các thông điệp cũng giống như

chính tại trạm I là giống với trật tự của nơi phát

4 H4 Sự cố hay gián đoạn vật lý tại một trạm nào đó được phát hiện sẽ

lập tức thông báo đến tất cả các trạm có ý định liên lạc với nó

Trang 8

II.4 BÀI TOÁN H Ệ QU Ả N LÝ BÃI ĐỖ XE

VT VT

VT

VT VT

- Xe chính là các ti ế n trình

- N ế u m ộ t c ử a là t ậ p trung còn nhi ề u c ủ a s ẽ di ế n ra tranh

ch ấ p

Trang 9

II.5 BÀI TOÁN H Ệ QU Ả N LÝ BÃI ĐỖ XE

Tình hu ố ng th ứ 1 :

Ta gi ả s ử r ằ ng bãi để xe ô tô là lo ạ i bãi l ớ n có m ộ t c ổ ng

Ta gi ả s ử r ằ ng bãi để xe ô tô là lo ạ i bãi l ớ n có m ộ t c ổ ng vào d ướ i s ự ki ể m soát c ủ a m ộ t ng ườ i b ả o v ệ (NBV) duy

nh ấ t NBV ch ỉ bi ế t đượ c m ộ t ph ầ n c ủ a tr ạ ng thái bãi để

xe Trong khi anh ta ngh ĩ r ằ ng bãi để xe đ ã b ị đầ y, khi đ ó

l ạ i có nhi ề u lái xe đ ang cho xe ch ạ y ra c ổ ng Vì suy ngh ĩ

nh ư v ậ y, trong tr ườ ng h ợ p này, anh ta không gi ả i quy ế t

đượ c cho các xe khác ti ế p t ụ c đượ c vào bãi n ữ a, m ặ c dù lúc này trong bãi đ ang có ch ổ tr ố ng, nh ư v ậ y, NBV không

n ắ m đượ c tr ạ ng thái hi ệ n hành c ủ a bãi

Trang 10

II.5 BÀI TOÁN H Ệ QU Ả N LÝ BÃI ĐỖ XE

Tình hu ố ng th ứ 2 :

N ế u ta có bãi để xe có nhi ề u c ổ ng vào và t ạ i m ỗ i c ổ ng có

m ộ t ng ườ i b ả o v ệ thì m ỗ i ng ườ i b ả o v ệ ch ỉ có th ể bi ế t đượ c

m ộ t ng ườ i b ả o v ệ thì m ỗ i ng ườ i b ả o v ệ ch ỉ có th ể bi ế t đượ c

b ả o v ệ khác C ũ ng có th ể di ễ n ra tr ườ ng h ợ p là cùng m ộ t lúc

các ng ườ i b ả o v ệ gi ả i quy ế t các xe vào cùng m ộ t v ị trí trong bãi

do vì h ọ thi ế u thông tin

Trang 11

II.5 BÀI TOÁN H Ệ QU Ả N LÝ BÃI ĐỖ XE

Tình hu ố ng th ứ 3 :

Gi ả s ử r ằ ng ở th ờ i đ i ể m cho tr ướ c ta có 4 ng ư òi b ả o v ệ và có 100

ch ỗ còn tr ố ng T ấ t c ả các ng ườ i b ả o v ệ đề u có thông tin đ ó Tr ạ ng

ch ỗ còn tr ố ng T ấ t c ả các ng ườ i b ả o v ệ đề u có thông tin đ ó Tr ạ ng thái lúc này c ủ a h ệ là g ắ n bó Ba trong s ố h ọ phát đ i các thông tin

Trang 12

Bảo vệ 1 Bảo vệ 2 Bảo vệ 3

M1M

II.5 BÀI TOÁN H Ệ QU Ả N LÝ BÃI ĐỖ XE

Tình hu ố ng th ứ 3 :

Bảo vệ 1 Bảo vệ 2 Bảo vệ 3

M1M

Trang 13

II.5 BÀI TOÁN H Ệ QU Ả N LÝ BÃI ĐỖ XE

Thông

điệp

GiáTrị

Thông

điệp

GiáTrị

Thông

điệp

GiáTrị

Trang 14

II.5 BÀI TOÁN H Ệ QU Ả N LÝ BÃI ĐỖ XE

Tình hu ố ng th ứ 4 :

Gi ả s ử r ằ ng ở th ờ i đ i ể m cho tr ướ c ta có 4 ng ư òi b ả o v ệ và có 100

ch ỗ còn tr ố ng T ấ t c ả các ng ườ i b ả o v ệ đề u có thông tin đ ó Tr ạ ng

ch ỗ còn tr ố ng T ấ t c ả các ng ườ i b ả o v ệ đề u có thông tin đ ó Tr ạ ng thái lúc này c ủ a h ệ là g ắ n bó Ba trong s ố h ọ phát đ i các thông tin

Trang 15

II.5 BÀI TOÁN H Ệ QU Ả N LÝ BÃI ĐỖ XE

Trang 16

II.5 BÀI TOÁN H Ệ QU Ả N LÝ BÃI ĐỖ XE

Thông

điệp

Giá Trị

Thôn g

Giá Trị

Thôn g

Giá Trị

Bảng II.1 : Sự không gắn bó giữa bốn người bảo vệ

Trang 17

II.6 K Ế T LU Ậ N

chế để thực hiện đồng bộ hoá các tiến trình (cho

chế để thực hiện đồng bộ hoá các tiến trình (cho

Trang 18

3 Các thông điệp phải được xử lý cùng một trật tự

như nhau trong các chương trình cung cấp

Trang 19

Queue: là một danh sách tuyến tính mà phép thêm được

tiến hành một đầu danh sách, phép loại bỏ được tiến hành tại đầu còn lại của danh sách Queue còn gọi là danh sách

III 1 C Ơ S Ở LÝ THUY Ế T

III.1.2 HÀNG ĐỢ I

tại đầu còn lại của danh sách Queue còn gọi là danh sách

FIFO (First In First Out)

Trang 20

Gi ả i thu ậ t đượ c trình bày ở đ ây là gi ả i thu ậ t Lamport nh ằ m cho phép ghi l ạ i các s ự ki ệ n c ủ a h ệ tin h ọ c phân tán Gi ả i thu ậ t này nh ằ m gi ả i quy ế t v ấ n đề trình t ự (v ấ n đề m ấ u ch ố t c ủ a h ệ phân tán) d ự a trên giá

nh ậ n đượ c thông đ i ệ p, tr ạ m r c ậ p nh ậ t đồ ng h ồ Cr riêng c ủ a mình b ằ ng

gi ả i thu ậ t sau đ ây :

N ế u Cr, thì

Trang 21

M ộ t s ự ki ệ n a sinh ra trong tr ạ m i và đượ c đ ánh d ấ u b ở i

Trang 23

Giả thiết

1 Tr ạ m i c ủ a m ạ ng có th ể g ử i cho các tr ạ m khác thông đ i ệ p

có d ạ ng (T Hi, i), trong đ ó Hi là d ấ u c ủ a thông đ i ệ p có ngh ĩ a là đồ ng

h ồ lô gích c ủ a nó và T có th ể nh ậ n m ộ t trong ba giá tr ị REQ, REL, và

III.2 TRÌNH BÀY GI Ả I THU Ậ T

h ồ lô gích c ủ a nó và T có th ể nh ậ n m ộ t trong ba giá tr ị REQ, REL, và ACQ.

Ba giá tr ị này xác đị nh b ả n ch ấ t c ủ a ba lo ạ i thông đ i ệ p khác nhau

trạm i muốn vào trong đoạn găng

trạm i đã rời khỏi đoạn găng

đượ c từ trạm i thông điệp REQ.

Trang 24

2.Khi có m ộ t thông đ i ệ p đượ c g ở i đ i b ở i tr ạ m i đồ ng th ờ i nó c ũ ng đượ c ghi trong hàng đợ i c ủ a tr ạ m này.

Gi ả s ử r ằ ng m ỗ i h ằ ng đợ i ban đầ u ch ứ a các thông đ i ệ p :III.2 TRÌNH BÀY GI Ả I THU Ậ T

Mi = (REL, Cinit , i)

Trong đ ó, i, C init là th ờ i đ i ể m kh ở i s ự gi ố ng nhau cho t ấ t c ả các tr ạ m.

Trang 25

III.2 GI Ả I THU Ậ T

từng thông điệp.

Thuật toán được mô tả theo sơ đồ sau :

Khởi tạo hàng đợi, mỗi máy tự phát thông điệp

M i = (REL, C init , i)

Trang 26

III.2 GI Ả I THU Ậ T

- Để truy c ậ p vào tài nguyên m ộ t tr ạ m nào đ ó s ẽ phát m ộ t thông đ i ệ p

- Để truy c ậ p vào tài nguyên m ộ t tr ạ m nào đ ó s ẽ phát m ộ t thông đ i ệ p

yêu c ầ u M i (T,C i ,i) đế n t ấ t c ả các tr ạ m khác và đư a yêu c ầ u vào hàng

đợ i yêu c ầ u c ủ a tr ạ m này.

- Khi tr ạ m j nh ậ n thông đ i ệ p yêu c ầ u t ừ i, nó s ẽ g ở i ng ượ c l ạ i thông

đ i ệ p (có ch ứ a đồ ng h ồ logic C j ) cho tr ạ m j và đư a yêu c ầ u này vào

trong hàng đợ i yêu c ầ u c ủ a nó.

If (state =muon) and (T, C j ,j) < (T i , C i ,i) then Begin

Send M(T,C j ,j) đế n tr ạ m i INSERT(M i ,hàng đợ i) ‘ đượ c s ắ p x ế p theo H End

Trang 27

If (C>C i ) and (V ị trí M ở đầ u c ủ a hàng đợ i) then state=namgiu

+ Khi trạm không thực hiện gì cả

Xoá yêu c ầ u và g ở i thông đ i ệ p gi ả i phóng

Trang 28

III.3 CÀI ĐẶT CHƯƠNG TRÌNH

III.3.1 Phân tích bài toán

Để xây d ự ng m ộ t h ệ th ố ng qu ả n lý bãi đổ xe chúng ta s ử d ụ ng mô hình m ạ ng client/ server

để th ự c hi ệ n vi ệ c truy ề n các thông tin t ừ gi ữ a

để th ự c hi ệ n vi ệ c truy ề n các thông tin t ừ gi ữ a các máy tr ạ m cho máy ch ủ ho ặ c máy ch ủ v ớ i máy ch ủ đả m b ả o d ữ li ệ u dùng chung (bãi xe) cho các thao tác t ạ i các c ổ ng (xe vào/xe ra)

Để đả m b ả o g ắ n bó d ữ li ệ u trong bài toán

qu ả n lý bãi đổ xe s ử d ụ ng thu ậ t toán Lamport

để cài đặ t.

Trang 29

III.3 CÀI ĐẶT CHƯƠNG TRÌNH

III.3.1 Phân tích bài toán

V ớ i các gi ả thi ế t

+M ộ t tr ạ m trong các tr ạ m đề u có th ể liên l ạ c v ớ i các tr ạ m còn l ạ i trong h ệ

+ Không có l ỗ i truy ề n thông tin và không m ấ t thông đ i ệ p

+ Tr ậ t t ự nh ậ n trên tr ạ m j c ủ a dãy các thông

đ i ệ p c ũ ng gi ố ng nh ư chính t ạ i tr ạ m i là gi ố ng v ớ i tr ậ t

t ự c ủ a n ơ i phát

+ S ự c ố hay gián đ o ạ n v ậ t lý t ạ i m ộ t tr ạ m nào

đ ó đượ c phát hi ệ n s ẽ l ậ p t ứ c thông báo đế n t ấ t c ả các

tr ạ m có ý đị nh liên l ạ c v ớ i nó.

Trang 30

III.3 CÀI ĐẶT CHƯƠNG TRÌNH

III.3.1 Phân tích bài toán

+ Các thông đ i ệ p ph ả i đượ c x ử lý cùng

m ộ t tr ậ t t ự nh ư nhau trong các ch ươ ng trình cung c ấ p

Trang 31

III.3 CÀI ĐẶT CHƯƠNG TRÌNH

Trang 32

III.3 CÀI ĐẶT CHƯƠNG TRÌNH

III.3.3 Demo ch ươ ng trình

- Chương trình gồm có các Modul : SERVER1, SERVER2, SERVER3,

CLIENT1, CLIENT2

- Cấu trúc chương trình trong mỗi Server gồm các phần:

+ Phần kết nối đến với Client và các Server.(dưới các thủ tục Connect)+ Phần kết nối đến với Client và các Server.(dưới các thủ tục Connect)+ Gởi và nhận các thông điệp qua các cổng (dưới các thủ tục

Getserver, SendServer, GetClient, SendClient)

+ Tổ chức và Sắp xếp các thông điệp trên mảng (Cấu trúc FIFO) (dưới các thủ tục POP, PUSH, SORT)

+ Trao đổi giữa Server với Server, Server với Client

Cấu trúc chương trình trong mỗi Client gồm các phần:

+ Phần kết nối đến với Client và các Server.(dưới các thủ tục Connect)+ Gởi và nhận các thông điệp qua các cổng (dưới các thủ tục

GetClient, SendClient)

+ Quản lý bãi xe (Xuly)

- Kết quả chạy thử chương trình :

Trang 33

CỔNG 1 (CLIENT 1) CỔNG 2 (CLIENT 2)

Trang 34

- Vi ệ c s ắ p x ế p các thông đ i ệ p đế n d ự a trên đồ ng h ồ

lôgích cho phép đ ánh d ấ u các s ự ki ệ n và xác đị nh m ộ t

tr ậ t t ự t ổ ng quát ch ặ t ch ẽ Nh ư ng t ạ i đ ây ta không có

tr ậ t t ự t ổ ng quát ch ặ t ch ẽ Nh ư ng t ạ i đ ây ta không có quan h ệ nào gi ữ a các s ự ki ệ n và các giá tr ị c ủ a d ấ u.

- S ự mâu thu ấ n : gi ả thi ế t c ả hai tr ạ m 1 và 2 cùng th ự c hi ệ n trùng nhau R ồ i sau đ ó c ả hai đ i ề u ki ệ n yêu c ầ u đề u n ằ m ở đỉ nh c ủ a hàng đợ i c ủ a m ỗ i chúng nh ư ng trong tr ườ ng h ợ p đồ ng h ồ lôgíc

c ủ a tr ạ m 1 l ạ i nh ỏ h ơ n tr ạ m 2

- Rõ ràng là yêu c ầ u tr ạ m i ph ả i có m ặ t trong hàng đợ i c ủ a tr ạ m j khi

tr ạ m j đ ang vào đ o ạ n g ă ng Đ i ề u này cung c ấ p s ự mâu thu ẫ n yêu c ầ u

c ủ a chính t ạ m j ở t ạ i đỉ nh c ủ a hàng đợ i yêu c ầ u khi m ộ t đồ ng h ồ logic

nh ỏ h ơ n đ ang có m ặ t

Trang 35

Email :

dunglq82@yahoo.com.vn dunglq1982@gmail.com

Ngày đăng: 31/01/2015, 22:59

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w