Xây dựng hệ thống phân tán với một số server có khả năng phát/nhận thông điệp.. 1.2 Giải thuật : Nếu độ ưu tiên của thông điệp nhận được cao hơn độ ưu tiên của chính nó, thông điệp nà
Trang 1BÁO CÁO TIỂU LUẬN MÔN HỌC: LẬP TRÌNH MẠNG
BỘ GIÁO DỤC VÀ ĐÀO TẠO
ĐẠI HỌC ĐÀ NẴNG
1 Học Viên: Võ Thanh Thịnh
Trang 2NỘI DUNG BÁO CÁO
1 Yêu cầu của đề tài
2 Thực hiện
3 Chạy chương trình
4 Kết luận
Trang 31 ĐỀ TÀI
Sử dụng giải thuật Le Lann để lập trình cho các hệ phân tán gắn bó yếu.
Xây dựng hệ thống phân tán với một số server có khả năng phát/nhận thông điệp.
Xây dựng giải pháp gắn bó yếu trên CSDL.
Lập chương trình bằng Java.
3 Học Viên: Võ Thanh Thịnh
Trang 42 THỰC HIỆN
1 Giải thuật LELANN
1.1 Bài toán:
Trang 51.2 Giải thuật :
Nếu độ ưu tiên của thông điệp nhận được cao hơn độ ưu tiên của
chính nó, thông điệp này sẽ được chuyển tiếp trên vòng Ring
Nếu độ ưu tiên của thông điệp nhận được thấp hơn độ ưu tiên
của chính nó, không chuyển tiếp thông điệp nữa
Nếu độ ưu tiên của thông điệp bằng nhau, đó chính là độ ưu tiên
cao nhất cần tìm trên vòng Ring
5 Học Viên: Võ Thanh Thịnh
Trang 61.3 Độ phức tạp của giải thuật:
Tổng số thông điệp di chuyển trên vòng Ring trong các trường hợp:
Trường hợp tốt nhất: n+n-1=2n-1
Trường hợp tồi nhất:
Trường hợp trung bình:
n 1
i i = n(n + 1)/2
3
1 2
1 1
( 1
)
n
n k
n n
k E
Trang 72
2 Xây dựng hệ thống phân tán với một số Server
có khả năng phát nhận thông điệp
2.1 Bài toán:
Server 1
Server 3
Server 2
Vòng 1: Thực hiện Khóa trường dữ liệu
Vòng 2: Thực hiện Cập nhật bảng tạm
Vòng 3: Thực hiện Cập nhật bảng chính
Vòng 4: các tiến trìnhThực hiện Kiểm tra quá trình đồng bộ
7 Học Viên: Võ Thanh Thịnh
Trang 82.2
2.2 Cấu trúc thông điệp :
@$ 1 111 135 ServerX Update 3 45 $$ ip route 192.168.0.0/24 connected (nội dung thông điệp) @$
Các trường điều khiển hệ thống được giám sát và hiển thị Nội dung thông điệp được xử lý trên các Server
Vòng thông tin đăng ký trong hệ thống Đa Server Các trạng thái hành động trong hệ thống Đa Server Nội dung tương ứng với hành động trong hệ thống Tên Server được cập nhật khi di chuyển trong hệ thống
Số đồng hồ logic thiết lập chế độ ưu tiên thông điệp Jeton hiển thị cập nhật thông tin các Server trong hệ thống Thông tin Server bắt đầu vòng tròn ảo trong hệ thống
Các biến cờ phân biệt thông điệp và các trường thông điệp trong hệ thống
Trang 93 Xây dựng giải pháp gắn bó yếu trên CSDL
hoàn
9 Học Viên: Võ Thanh Thịnh
Trang 103.2 Bài toán gắn bó yếu trên CSDL:
Giả sử trên một hệ thống mạng viễn thông có các thiết bị định tuyến (router), mỗi thiết bị ban đầu chứa bảng (dữ liệu) định tuyến của mình
Router 3
192.168.1.4/30 192.168.1.0/30
192.168.1.8/30
192.168.1.24/30 192.168.1.28/30
Trang 11Để tất cả các phần tử trên mạng có thể liên lạc được với nhau, các bảng định tuyến trên các router phải được cập nhật liên tục Bài toán đặt ra là xây dựng chương trình mô phỏng việc cập nhật dữ liệu của các bảng định tuyến trên các router, cụ thể như sau:
Dữ liệu đầu vào: thông tin các bảng định tuyến của các router được lưu ở file connected.txt
Dữ liệu đầu ra: thông tin định tuyến sau khi các router đã trao đổi thông tin với nhau và được lưu ở file: routing table.txt
11 Học Viên: Võ Thanh Thịnh
Trang 123.3 Giải quyết bài toán gắn bó yếu trên CSDL :
3.3.1 Thuật toán: áp dụng giải thuật LeLann, các thủ tục xây dựng
ở trên cho các Server gửi/nhận thông điệp đã xây dựng ở phần 1 và
2
vòng Ring Thông tin định tuyến được đọc từ các file connected routerX.txt
và routing table.txt
routing table.txt và tiếp tục chuyển (forward) đến router kế tiếp theo thứ tự.
3.3.2 Kết quả: Sau một số bước gửi/nhận thông tin, toàn bộ các
router trên hệ thống mạng sẽ có thông tin định tuyến hoàn chỉnh
Trang 133 CHẠY DEMO CHƯƠNG TRÌNH
13 Học Viên: Võ Thanh Thịnh
Trang 144 KẾT LUẬN
4.1 Đánh giá
Qua đề tài tiểu luận, tôi đã nghiên cứu và nắm bắt được nhiều kiến thức về lập trình mạng và ngôn ngữ Java Chương trình ứng dụng xây dựng về cơ bản đã đạt được mục tiêu bài toán đặt ra
4.2 Hướng phát triển của đề tài
Lĩnh vực lập trình mạng là lĩnh vực khó và phức tạp Vì vậy, những nghiên cứu trong bài tiểu luận về lý thuyết cũng như chương trình vẫn còn nhiều điểm cần phải chỉnh sửa để hoàn thiện hơn Cụ thể:
Xử lý khi có sự cố xảy ra trên mạng