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 chương trình cho phép đưa một trạm đã khắc phục sự cố vào lại mạng và đồng nhất dữ liệu

40 373 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 40
Dung lượng 826,5 KB

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

Nội dung

Ấn phong Việc vận dụng tương đối tổng quát bộ tuần tự S trong hệ phân tán là sự chuyển động giữa các trạm một đối tượng duy nhất gọi là ấn phong chứa giá trị hiện hành của bộ tuần tự.. X

Trang 1

BỘ GIÁO DỤC ĐÀO TẠO ĐẠI HỌC ĐÀ NẴNG

BÁO CÁO bài tập tiểu luận

Mơn học : Lập trình mạng

DI CHUYỂN TRÊN VỊNG TRỊN ẢO

GVHD : PGS.TS LÊ VĂN SƠN

SVTH : HỒ NGỌC TÚ

Trang 2

Nội dung

Phần I: Lý thuyết về bộ tuần tự tuần hoàn

Ph ần II: Giới thiệu về các phương án có sự cố

Phần III: L ậ p trình v ề b ộ tu ầ n t ự tu ầ n hoàn trên vòng tròn ảo

Trang 3

PHẦN I LÝ THUYẾT VỀ BỘ TUẦN TỰ TUẦN HOÀN

I.Khái niệm bộ tuần tự

Bộ tuần tự là đối tượng đồng bộ cung cấp cho mỗi yêu cầu

một số có giá trị nguyên dương (hay còn gọi là một tíc kê)

nhằm xác lập trật tự Hai yêu cầu kế tiếp nhau được thể hiện

bởi hai số nguyên liên tiếp, trong đó giá trị 0 được cung cấp

cho yêu cầu đầu tiên.

Giả sử ta có bộ tuần tự S, lúc này một tiến trình muốn nhận

giá trị từ bộ tuần tự S thì nó phải gọi thủ tục hay hàm có tên

là TICKET(S)

Giả sử rằng tất cả các sự kiện được đánh số bởi một bộ tuần

tự duy nhất S Khi một tiến trình cung cấp cho một sự kiện i

một số thông qua TICKET(S), ta có thể khẳng định như sau:

Trang 4

1 Các sự kiện t bao hàm các giá trị nhỏ hơn t đã đựoc diễn ra.

2 Số thứ tự sự kiện kề liền sau t phải bằng t +1

Việc triển khai một bộ tuần tự cần phải mang hai đặc tính sau:

Đặc tính P1: Nếu a và b là hai sự kiện thực hiện trên

cùng hàm TICKET(S), thì ta có a  b hay b  a Đặc tính này thể hiện việc loại trừ tương hỗ trên các phép toán TICKET(S)

Đặc tính P2: Nếu a thực hiện phép t = TICKET(S) thì

giá trị gán cho t là số lượng các phép TICKET(S) đã được thực hiện trước a Đặc tính P2 thể hiện tính liên tục trong khi đánh số có nghĩa là không để lại khoảng trống khi đánh số

PHẦN I LÝ THUYẾT VỀ BỘ TUẦN TỰ TUẦN HOÀN

Trang 5

Bộ tuần tự là đối tượng đồng bộ cung cấp cho mỗi yêu

cầu một số (hay còn gọi là một tíc kê) nhằm xác lập trật tự

tuần hoàn

Một tiến trình muốn nhận giá trị tự bộ tuần hoàn S thì

nó phải gọi thủ tục (hoặc hàm) có tên là TICKET(S) Mỗi

một giá trị chỉ phục vụ cho một và chỉ một sự kiện mà thôi

PHẦN I LÝ THUYẾT VỀ BỘ TUẦN TỰ TUẦN HOÀN

Trang 6

I.2 Ấn phong

Việc vận dụng tương đối tổng quát bộ tuần tự S trong hệ phân tán là sự chuyển động giữa các trạm một đối tượng duy nhất gọi là ấn phong chứa giá trị hiện hành của bộ tuần tự Khi một trạm có ấn phong nó có thể thực hiện hàm TICKET(S).

PHẦN I LÝ THUYẾT VỀ BỘ TUẦN TỰ TUẦN HOÀN

Trang 7

I.3 Vòng tròn ảo

Để triển khai một ấn phong có kết quả, đầu tiên ta cần phải xác định hành trình của nó trong mạng máy tính như thế nào

Phương pháp đơn giản nhất là lắp đặt các trạm nằm trên một vòng tròn theo một chiều xác định Mỗi trạm chỉ được liên hệ với hai trạm gần nhất.

PHẦN I LÝ THUYẾT VỀ BỘ TUẦN TỰ TUẦN HOÀN

Trang 8

Xét một mạng gồm tập hợp N trạm được nối với nhau và một trạm bất kỳ trong mạng có thể liên lạc với các trạm khác trong mạng một cách dễ dàng Mỗi trạm trong mạng được phân phối một lần một

số duy nhất từ 0 đến N-1 Một trạm i bất kỳ trong mạng sẽ có trạm hàng xóm bên phải (hay trạm kế tiếp sau) mà số của trạm đó là suc[i] và trạm hàng xóm bên trái (hay trạm kề liền trước) mà số của nó

là pred[i] Lúc này suc[i]=i+1 modulo N và pred[i]=i-1 modulo N Sự mô tả này kiến ta hình dung một vòng tròn ảo Hình vẽ II.1 sau đây mô phỏng vòng tròn ảo giữa các trạm.

PHẦN I LÝ THUYẾT VỀ BỘ TUẦN TỰ TUẦN HOÀN

Trang 9

Hàng xóm trái

Hàng xóm phải

4

2

1 0

Trang 10

Một số nguyên tắc được đặt ra:

 Ấn phong được cụ thể hoá trên một vài cấu hình của các biến trạng thái và quay trên vòng tròn ảo luôn luôn theo một chiều xác định

cần xây dựng lại (cấu hình lại) vòng tròn để vòng tròn có thể hoạt động tốt Tức là phải cập nhật lại các giá trị của suc[i] và pred[i] của hàng xóm bên phải và bên trái của trạm bị sự cố

Khi một trạm bị sự cố đã được khắc phục và hoạt động trở lại thì

nó có thể tham gia lại vào mạng thông qua phép chèn

PHẦN I LÝ THUYẾT VỀ BỘ TUẦN TỰ TUẦN HOÀN

Trang 11

I.4 Hai thuật toán di chuyển ấn phong

I.4.1 Ấn phong bằng biến trạng thái

Một tiến trình Pi được giao nhiệm vụ di chuyển ấn phong cần tuân thủ các nguyên tắc sau đây:

1 Xét khi các trạm trong mạng không xảy ra sự cố

Một số nguyên K (K>1) được chọn trong tập hợp của hệ Trên trạm i với i{0 N-1}, mỗi tiến trình Pi được giao nhiệm vụ di chuyển ấn phong phải tuân thủ các quy tắc sau:

- Mỗi tiến trình Pi đều có biến trạng thái S[i]{0 K-1},

PHẦN I LÝ THUYẾT VỀ BỘ TUẦN TỰ TUẦN HOÀN

Trang 12

- Mỗi biến S[i] đều được cấp nhật bởi tiến trình Pi

và có thể đọc bởi trạm kế tiếp sau (hàng xóm phải) của Pi.

- Thuật toán di chuyển trạng thái ấn phong được thể hiện như sau:

a Tiến trình Pi có ấn phong chỉ khi:

S[i]S[i-1], cho i0 S[0]=S[N-1], cho i=0

PHẦN I LÝ THUYẾT VỀ BỘ TUẦN TỰ TUẦN HOÀN

Trang 13

Khi tiến trình Pi có ấn phong, thì nó phải bỏ

ấn phong sau một khoảng thời gian xác định và thay đổi trạng thái của nó.

S[i]:=S[i-1], nếu i0 S[i]:=S[i]+1 mod N, nếu i=0

PHẦN I LÝ THUYẾT VỀ BỘ TUẦN TỰ TUẦN HOÀN

Trang 14

Đây là trường hợp duy nhất mà tiến trình có thể cập nhật các giá trị của mình Quyền bình đẳng giữa các trạm được đảm bảo khi tất cả các tiến trình Pi đều sử dụng thuật toán này Mỗi tiến trình đều được nhận ấn phong khi đến phiên mình và vì ấn phong trong mạng là duy nhất nên nếu một trạm sau khi nhận được ấn phong nhưng lại không vào đoạn găng thì phải lập tức giải phóng nó.

PHẦN I LÝ THUYẾT VỀ BỘ TUẦN TỰ TUẦN HOÀN

Trang 15

Xét khi có xảy ra sự cố ở một trạm nào đó trong mạng.

Để đưa một trạm bị sự cố đã được khắc phục xong vào mạng, lúc này ta phải định lại cấu hình của vòng tròn ảo Sau đó, tiến trình cần phải khởi động lại S[i], miễn là trạm j=suc[i] không được phép đọc biến S[j] của mình trong thời gian vào đoạn găng Có nghĩa là:

Nếu j<i thì S[i]:=S[j] -1 mod K

PHẦN I LÝ THUYẾT VỀ BỘ TUẦN TỰ TUẦN HOÀN

Trang 16

I.4.2 Jecton tuần hoàn

Ý tưởng: Thuật toán thứ hai [Le Lann], ấn phong được

cụ thể hóa bằng một thông điệp đặc biệt gọi là Jeton (thẻ bài) tuần hoàn trên vòng tròn Như thế, việc sự cố trên trạm có thể dẫn đến mất Jeton Các biến trạng thái được duy trì trên mỗi trạm cho phép tái sinh Jeton trong trường hợp bị mất

Thuật toán được triển khai dựa trên ý tưởng này là:

PHẦN I LÝ THUYẾT VỀ BỘ TUẦN TỰ TUẦN HOÀN

Trang 17

1 Jeton mang giá trị là  Mỗi trạm j có một biến trạng

thái S[j] Trước khi phát lại một Jeton vào mạng, các

tác động như sau được thực hiện:

S[j]:= Cho j≠0

:=+1 mod k; S[j]:= Cho j=0

2 Mỗi một lần di chuyển jeton trên trạm j, một đồng hồ bảo

vệ được trang bị Nếu nó được phát động trước khi

Jeton đến thì j tham chiếu đến biến trạng thái S[j] của

trạm kề liền trước i=pred(i) trên vòng tròn

PHẦN I LÝ THUYẾT VỀ BỘ TUẦN TỰ TUẦN HOÀN

Trang 18

Phần II GIỚI THIỆU VỀ CÁC PHƯƠNG ÁN CÓ SỰ CỐ

I Giới thiệu về bộ tuần tự trên kênh lan truyền

 Xét trường hợp liên lạc giữa các trạm được thực hiện bởi một kênh lan truyền duy nhất Các trạm

được nối với nhau bởi thiết bị truyền thông

(TBTT) Việc cạnh tranh truy cập đường truyền, việc xử lý các xung đột và việc nhận các thông điệp được thực hiện thông qua TBTT Và theo thiết kế, một lúc chỉ có một thông điệp được truyền.

Trang 19

 Ta giả sử rằng mỗi TBTT truyền các thông điệp vào đường truyền theo trình tự mà trạm liên lạc với nó xác định và truyền lại trạm này các thông điệp từ đường truyền, kể cả các thông điệp của chính nó Ngoài ra, ta còn giả định là đường truyền không hề làm mất mát thông điệp và các TBTT đều sắp xếp các thông điệp theo một trật

tự giống nhau.

Phần II GIỚI THIỆU VỀ CÁC PHƯƠNG ÁN CÓ SỰ CỐ

Trang 20

K2 J3 K1 J2 I1 J1 Trạm I

I1 I2

TBTT

J1 J2 J3

Trạm J

K2 J3 K1 J2 I1 J1

TBTT

K1 K2 K3

Trạm K

K2 J3 K2 J2 I1 J1

Trật tự cục

bộ (hàng

đợi vào)

Trật tự toàn cục (hàng đợi ra)

Hình II.1 Triển khai bộ tuần tự trên kênh truyền

Phần II GIỚI THIỆU VỀ CÁC PHƯƠNG ÁN CÓ SỰ CỐ

Trang 21

II Thuật toán triển khai phép toán Ticket()

1 Hoạt động của hệ thống không có sự cố

- Khi có một tiến trình trên một trạm muốn gọi phép toán Ticket(S) thì phải có một yêu cầu đặt vào trong hàng đợi vào của thiết bị truyền thông (TBTT) Tiến trình yêu cầu

đó cần phải đợi cho đến khi yêu cầu của nó xuất hiện trong hàng đợi của TBTT: tại thời điểm đó, yêu cầu này

đã được lan truyền và nó được sắp xếp cùng với các yêu cầu khác

Phần II GIỚI THIỆU VỀ CÁC PHƯƠNG ÁN CÓ SỰ CỐ

Trang 22

- Trạm i xử lý tất cả các yêu cầu Ticket(S) đang có trong hàng đợi của TBTT của nó Mỗi khi có một yêu cầu đến từ một trong các trạm khác, thì trạm

i sẵn sàng tăng nội dung công tơ cục bộ của mình lên Khi có một yêu cầu nào đó đến từ một trong các tiến trình của chính trạm i thì tiến trình này nhận giá trị hiện hành của công tơ cục bộ và công tơ này tăng lên một số gia

Phần II GIỚI THIỆU VỀ CÁC PHƯƠNG ÁN CÓ SỰ CỐ

Trang 23

2 Xử lý trong trường hợp có sự cố

Sự cố hay gián đoạn vật lý tại một trạm nào đó được phát hiện sẽ ngay 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ó (trạm bị sự cố sẽ không

lien lạc được với mạng) Chính vì vậy mà sự cố xảy ra

với trạm chưa vào được trong đoạn găng không làm rối

loạn hoạt động của giải thuật với điều kiện là nó gây ra

việc truyền thông điệp vang_mat (vắng) cho việc chuyển

tải ở tầng giao vận

Do có trang bị như thế, việc vào đoạn găng trở nên không được nhanh chóng và dễ dàng cho các trạm

khác Nếu trạm có sự cố đã gởi yêu cầu, thì nó kết thúc

với lý do trở thành trước đối với tất cả các trạm khác

Phần II GIỚI THIỆU VỀ CÁC PHƯƠNG ÁN CÓ SỰ CỐ

Trang 24

- Khi một trạm lại được đưa vào trong mạng sau khi đã khắc phục sự cố, nó cần phải kiến tạo lại trạng thái hiện hành của các yêu cầu Để đảm bảo điều đó, nó phát đi

thông điệp vao_lai (xin vào lại) và để trả lời, các trạm gởi

hoặc thời gian của yêu cầu cuối cùng của nó REQ không được thỏa mãn (nếu có tồn tại một REQ) hoặc một thông điệp REL Mạng cần phải bổ khuyết cho các trạm

bị sự cố bằng cách gởi thông điệp vang_mat Khi nó đã

nhận tất cả các trả lời cho thông điệp vao_lai, trạm vừa đưa vào đó có thể bắt đầu lại bằng các yêu cầu

Phần II GIỚI THIỆU VỀ CÁC PHƯƠNG ÁN CÓ SỰ CỐ

Trang 25

Để có thể tự tham gia lại công việc trong mạng sau sự

cố, trạm i phải gởi yêu cầu vào lại cho một trạm nào

đó trong số các trạm còn lại, ví dụ như j chẳng hạn

và đặt mình vào trạng thái lắng nghe đường truyền trong hàng đợi của TBTT của mình Trạm j sẽ gởi cho nó một thông điệp đồng bộ để cập nhật Khi thông điệp này xuất hiện trong hàng đợi của TBTT, thì:

1 Trạm j là trạm cần phải gởi thông điệp cho i hiểu rằng nó phải gởi giá trị hiện hành của công tơ của nó.

Phần II GIỚI THIỆU VỀ CÁC PHƯƠNG ÁN CÓ SỰ CỐ

Trang 26

2 Trạm i hiểu rằng nó có thể vào lại được trong mạng Để cho việc đó, nó bắt đầu bằng cách lờ đi tất cả các thông điệp đến trước thông điệp đồng bộ Thông điệp đồng bộ đến sau cùng Nó lưu trữ mà không xử lý tất cả các thông điệp theo sau nó và điều đó được duy trì cho đến khi xuất hiện giá trị của hiện hành của công tơ được gởi bởi j Sau khi thông điệp đồng bộ đến, trạm xử lý tất cả các thông điệp theo sau thông điệp đồng bộ Các trạm khác không được phép can thiệp Do vậy, chúng lờ đi yêu cầu vào lại, thông điệp đồng bộ và giá trị truyền Phương pháp cập nhật này cũng có thể được sử dụng tại các trạm để trao đổi giá trị của các công tơ trong việc

Phần II GIỚI THIỆU VỀ CÁC PHƯƠNG ÁN CÓ SỰ CỐ

Trang 27

3 Đặc điểm của vòng ring

Một mạng hình thành một vòng ring nếu tồn tại một liên kết giữa hai node P(i) và P(j) trong đó i =j+1 hoặc j=i+1

và không còn liên kết nào khác giữa các node này Nếu

có sự liên hệ giữa node P đến (i+1) mod (P), thì vòng ring là theo một hướng duy nhất Thông thường, vòng ring có N node từ 0 đến N-1 và có N cạnh Mạng ring gắn liền với thuật ngữ số cạnh đến và số cạnh đi (incoming or outgoing edges) của một node, luôn luôn bằng 2 nó đối xứng và hai chiều Đường kính của một

đồ thị là độ dài tối đa của đường di ngắn nhất nối giữa

Phần II GIỚI THIỆU VỀ CÁC PHƯƠNG ÁN CÓ SỰ CỐ

Trang 28

4 Kết quả chọn leader

Có hai vấn đề quan trọng trong việc chọn leader:

1 Đưa ra thông tin về một node được chọn làm leader

2 Truyền thông tin về leader đến tất cả các node còn lại

Vấn đề thứ 1 là thứ yếu trong việc chọn leader, còn vấn

đề thứ hai là cần thiết khi làm việc với node lỗi và lựa chọn động Sự truyền bá thông tin về leader có nghĩa rằng, các node biết được tình trạng (địa vị trong mạng) của nó và tình trạng leader của nó Nãy sinh ra các vấn

đề sau:

Phần II GIỚI THIỆU VỀ CÁC PHƯƠNG ÁN CÓ SỰ CỐ

Trang 29

1 Trong vòng ring một hướng, các gói tin chỉ truyền theo chiều kim đồng hồ các node không biết các hàng xóm của nó nhưng có thể gửi tin theo một hoặc hai hướng.

2 Số bộ xử lý (node) có thể được biết trước hoặc không.

3 Các trạm có thể vào hoặc ra khỏi mạng một cách tự động (dynamically) Các thuật toán không biết được kích trước của vòng ring.

4 Các node có thể giống hoặc khác nhau Nếu các node có

Phần II GIỚI THIỆU VỀ CÁC PHƯƠNG ÁN CÓ SỰ CỐ

Trang 30

5 Sự truyền tin có thể theo phương thức đồng bộ hoặc không đồng bộ Đối với sự truyền tin không đồng bộ thì không cần phải giới hạn thời gian phân phát Giới hạn trên về thời gian nhận một phản hồi sau khi gửi tin là vô hạn.

6 Trong trường hợp mạng đồng bộ, sự truyền tin được thực hiện theo các vòng tròn Các bước thực hiện tiền định sẽ phân phát tất cả các bản tin trong hàng đợi Trong trường hợp này, tồn tại thời gian giới hạn giữa 1 yêu cầu, 1 phản hồi và khi vượt quá thời gian giới hạn, node gửi sẽ cho rằng node kia bị lỗi

Phần II GIỚI THIỆU VỀ CÁC PHƯƠNG ÁN CÓ SỰ CỐ

Trang 31

5 Thuật toán lựa chọn trong vòng Ring

Sự lựa chọn được khởi tạo khi một node gửi một thông điệp “lựa chọn” đến node hàng xóm của nó, trong thông điệp này có chứa số ID của nó Thông điệp này sẽ được chạy quay tròn trong vòng ring, mỗi node sẽ gán

số ID của mình vào thông điệp trước khi chuyển thông điệp này đến node kế tiếp Khi thông điệp đi được tròn một vòng, nó sẽ chứa tất cả các ID của các node đang hoạt động trong mạng

Phần II GIỚI THIỆU VỀ CÁC PHƯƠNG ÁN CÓ SỰ CỐ

Trang 32

Node khởi tạo (node đã gửi thông điệp đi đầu tiên) sẽ chọn ra node nào có ID cao nhất và gửi đi bản tin “điều phối viên” để chỉ định rằng node đó sẽ là node “điều phối viên” Khi đó node

có ID cao nhất đóng vai trò là “điều phối viên”.

Xét trường hợp mạng bị sự cố, hình vẽ sau đây mô phỏng một mạng Ring có 4 node, tuy nhiên trong đó Node 2 bị sự cố.

Phần II GIỚI THIỆU VỀ CÁC PHƯƠNG ÁN CÓ SỰ CỐ

Trang 33

Phần II GIỚI THIỆU VỀ CÁC PHƯƠNG ÁN CÓ SỰ CỐ

Trang 34

Mỗi node có ID của nó, node 2 bị lỗi hoặc chưa hoạt động, các node còn lại đang hoạt động Ta xét trường hợp khi node 1 khởi tạo sự bầu chọn node Nó đánh dấu nó là một người tham gia và gửi đi một thông điệp “bầu chọn” và ID của nó đến node hàng xóm Tuy nhiên vì node 2 không gửi trả lại phúc đáp, nó gửi thông điệp đến node

kế tiếp theo chiều kim đồng hồ theo tuần tự các node 1-3-4

Phần II GIỚI THIỆU VỀ CÁC PHƯƠNG ÁN CÓ SỰ CỐ

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

HÌNH ẢNH LIÊN QUAN

Hình II.1.  Triển khai bộ tuần tự trên kênh truyền - báo cáo tiểu luận lập trình mạng chương trình cho phép đưa một trạm đã khắc phục sự cố vào lại mạng và đồng nhất dữ liệu
nh II.1. Triển khai bộ tuần tự trên kênh truyền (Trang 20)
Đồ thị là độ dài tối đa của đường di ngắn nhất nối giữa  hai đỉnh. Các đỉnh là các node và các cung (arcs) là các - báo cáo tiểu luận lập trình mạng chương trình cho phép đưa một trạm đã khắc phục sự cố vào lại mạng và đồng nhất dữ liệu
th ị là độ dài tối đa của đường di ngắn nhất nối giữa hai đỉnh. Các đỉnh là các node và các cung (arcs) là các (Trang 27)
Hình II.3.  Khôi phục lỗi bằng cách xây dựng lại vòng Ring - báo cáo tiểu luận lập trình mạng chương trình cho phép đưa một trạm đã khắc phục sự cố vào lại mạng và đồng nhất dữ liệu
nh II.3. Khôi phục lỗi bằng cách xây dựng lại vòng Ring (Trang 35)

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