Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 19 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
19
Dung lượng
810,23 KB
Nội dung
Báo cáo tiểu luận môn học: Lập trình mạng Võ Thanh Thịnh 18/5/2012 Báo cáo tiểu luận môn học: Lập trình mạng LỜI MỞ ĐẦU Với sự tiến bộ không ngừng của khoa học và kỹ thuật nói chung, đặc biệt trong lĩnh vực công nghệ thông tin, ngày nay mạng máy tính đã phát triển nhanh chóng và đa dạng cả về cấu hình mạng lưới, thiết bị mạng, hệ điều hành và ứng dụng Vì vậy, những chương trình ứng dụng chạy trên các máy tính đơn lẻ trước đây dần dần được thế chỗ bới những chương trình ứng dụng chạy trên mạng. Khi thông tin được sử dụng chung thì nó nảy sinh nhiều vấn đề cần phải giải quyết như: • Đồng bộ dữ liệu trên các nút mạng khác nhau (các Servers, dữ liệu các thiết bị mạng …). • Định tuyến và phân luồng truy cập vào các Servers một cách hợp lý và hiệu quả. • Chống truy cập bất hợp pháp. • … Một trong những vấn đề chính cần phải giải quyết là làm sao phải đảm bảo dữ liệu trên mạng phải thống nhất. Đây cũng là một trong những yêu cầu chính của lĩnh vực lập trình mạng. Nội dung chủ yếu trình bày trong tiểu luận này là giải quyết một vấn đề về lập trình mạng, cụ thể như sau: • 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. Tôi xin chân thành cảm ơn PGS.TS Lê Văn Sơn đã trực tiếp giảng dạy và giúp đỡ tôi hoàn thành tiểu luận này. Học viên thực hiện: Ngô Hùng Phi Học viên thực hiện: Võ Thanh Thịnh Trang 2 Trước khi cập nhật (thay đổi) Trong khi cập nhật (thay đổi) Sau khi cập nhật (thay đổi) Gắn bó Không gắn bó Gắn bó T Báo cáo tiểu luận môn học: Lập trình mạng 1 Giải thuật LeLann để lập trình cho các hệ phân tán gắn bó yếu 1.1 Khái niệm về gắn bó thông tin và các hình thức gắn bó trong hệ phân tán Để thuận tiện trong việc mô tả khái niệm về gắn bó yếu, trước hết ta định nghĩa gắn bó thông tin trong hệ phân tán là gì? 1.1.1 Gắn bó thông tin trong hệ phân tán Các đối tượng khác nhau của hệ thống không phải là các đối tượng độc lập nhau, chúng quan hệ với nhau bởi tập hợp các quan hệ gọi là các ràng buộc toàn vẹn. Các ràng buộc này thể hiện sâu sắc các đặc tính riêng biệt của hệ. Trạng thái của hệ thoả mãn một tập các ràng buộc toàn vẹn gọi là trạng thái gắn bó. Một cơ sở dữ liệu nào đó được gọi là gắn bó, nếu nó thỏa mãn một tập các ràng buộc về toàn vẹn ngữ nghĩa. Vậy gắn bó yếu là gì? 1.1.2 Gắn bó yếu Gắn bó yếu cũng là một loại gắn bó thông tin. Khi thông tin của một hệ thống nằm rải rác trên các nút mạng khác nhau đều đồng bộ với nhau tại mọi thời điểm thì đó là gắn bó mạnh. Ngược lại, thông tin không được đồng bộ tại mọi thời điểm mà nó chỉ đồng bộ theo 1 chu kỳ nhất định (có thể là chu kỳ thời gian) thì đó là gắn bó yếu. Tóm lại, với gắn bó yếu, thông tin không cần phải được cập nhật tức thời giữa các nút mạng trong một hệ thống nào đó. Học viên thực hiện: Võ Thanh Thịnh Trang 3 Báo cáo tiểu luận môn học: Lập trình mạng Ví dụ: việc cập nhật bảng định tuyến của các Routers trong một hệ thống viễn thông có một số trường hợp cũng không cần thiết phải gắn bó mạnh mà nó chỉ được cập nhật bảng định tuyến với nhau theo một chu kỳ thời gian. 1.2 Giải thuật LeLann 1.2.1 Giới thiệu giải thuật LeLann 1.2.1.1 Giới thiệu bài toán: Cho tập hợp gốm các nút phần tử mạng được kết nối với nhau theo vòng Ring. Độ ưu tiên của các phần tử mạng ban đầu là chưa có và không có phần tử nào đảm nhận chức năng là bộ điều khiển trung tâm. Vấn đề đặt ra là tìm phần tử trên vòng Ring có độ ưu tiên là cao nhất (hoặc thấp nhất). Không mất tính tổng quát, bài toán yêu cầu tìm phần tử có độ ưu tiên cao nhất. 1.2.1.2 Giải thuật LeLann 1.2.1.2.1 Nội dung giải thuật Giải thuật LeLann yêu cầu tất cả các nút mạng đều gửi thông điệp, thông điệp này mang một số ưu tiên (priority) của riêng mình. Như vậy, tất cả các nút mạng trên vòng Ring đều nhận được thông điệp của các nút khác, sau khi thực hiện việc sắp xếp và nút mạng nào có số hiệu ưu tiên cao nhất sẽ được bầu. Giả sử rằng, mỗi một nút mạng đều biết độ ưu tiên của mình, sau đó bắt đầu khởi tạo và gán độ ưu tiên vào thông điệp và gửi đi, việc thực hiện chuyển thông điệp theo chiều kim đồng hồ (chiều bên trái của nút mạng): Học viên thực hiện: Võ Thanh Thịnh Trang 4 Server 1 Server 2 Server 3Server 4 Server 5 Báo cáo tiểu luận môn học: Lập trình mạng 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. Chú ý: giải thuật này chỉ xác định một và chỉ một độ ưu tiên cao nhất trên mạng Học viên thực hiện: Võ Thanh Thịnh Trang 5 Báo cáo tiểu luận môn học: Lập trình mạng LeLann’s Algorithm 1.2.1.2.2 Di chuyển thông điệp (Message Passes) 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+ 1.3 Áp dụng giải thuật LeLann để lập trình cho các hệ phân tán gắn bó yếu 1.3.1 Bài toán: Áp dụng giải thuật LeLann để đồng bộ dữ liệu cho các Routers trên vòng Ring theo chu kỳ thời gian T=30s. Học viên thực hiện: Võ Thanh Thịnh Trang 6 Báo cáo tiểu luận môn học: Lập trình mạng Học viên thực hiện: Võ Thanh Thịnh Trang 7 Báo cáo tiểu luận môn học: Lập trình mạng 1.3.2 Giải thuật: Repeat send(nid); //Gửi thông tin theo chiều kim đồng hồ trên vòng Ring receive(nid); update(information); //Cập nhật thông tin Delay(30s); //Tạm dừng 30s trước phát/nhận thông điệp Until disconect Học viên thực hiện: Võ Thanh Thịnh Trang 8 Báo cáo tiểu luận môn học: Lập trình mạng 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: Xây dựng hệ thống đa server có khả năng phát/nhận thông điệp theo hình vẽ dưới đây. Nội dung thông điệp ở đây giả sử mang thông tin về độ ưu tiên của các Server, thông điệp sẽ được phát/nhận theo chiều kim đồng hồ như giải thuật LeLann. 2.2 Thuật toán: 2.2.1 Xây dựng bảng định tuyến: • Trước tiên ta xây dựng bảng định tuyến để căn cứ vào bảng này, server sẽ chuyển các thông điệp trên mạng đi theo chiều kim đồng hồ. Ví dụ: Server 01 -> Server 02 Server 02 -> Server 03 Server 03 -> Server 04 … Server N-1 -> Server N Server N -> Server 01 • Như vậy, các thông điệp phát đi trên mạng từ Server(i) đến Server(i+1). Ngược lại, Server(i) chỉ nhận được gói tin từ Server(i-1) gửi đến. Học viên thực hiện: Võ Thanh Thịnh Trang 9 Báo cáo tiểu luận môn học: Lập trình mạng 2.2.2 Xây dựng thủ tục cho các Servers: • Điều kiện ban đầu: mỗi Server đã biết độ ưu tiên của mình trên mạng lưới • Các Server phát thông tin về độ ưu tiên của mình, khi nhận được bản tin từ Server khác gửi đến sẽ thực hiện so sánh, nếu độ ưu tiên của mình lớn hơn thì không chuyển tiếp thông điệp nữa, ngược lại sẽ chuyển đến Server kế tiếp. 2.2.3 Xây dựng thủ tục phát/nhận thông điệp • Cấu trúc thông điệp: Học viên thực hiện: Võ Thanh Thịnh Trang 10 [...]... đặt ra làm sao để đảm bảo gắn bó yếu đối với các hệ thống dữ liệu này Hiện tại có rất nhiều giải thuật giải quyết vấn đề gắn bó yếu trên CSDL, chúng ta sẽ tìm hiểu các giải thuật này ở phần tiếp theo 3.2 Các thuật toán giải quyết vấn đề gắn bó yếu CSDL 3.2.1 Giải thuật LeLann: Đã trình bày ở phần trên 3.2.2 Thuật toán đảm bảo sự gắn bó yếu nhờ dấu Đóng dấu là hành vi gán giá trị nguyên cho một thông... CSDL 3.1 Giới thiệu hệ thống CSDL phân tán Một cơ sở dữ liệu phân tán là tập hợp nhiều cơ sở dữ liệu có liên đới logic và được phân bố trên một mạng máy tính Từ đó ta định nghĩa: Hệ quản trị cơ sở dữ liệu phân tán (DDMS) là một hệ thống phần mềm cho phép quản lý các cơ sở dữ liệu phân tán và làm cho việc phân tán trở nên “vô hình” đối với người sử dụng Môi trường của hệ cở dữ liệu phân tán được mô tả qua... cáo tiểu luận môn học: Lập trình mạng • Mỗi Server sẽ phát và nhận thông điệp, chiều phát/nhận theo như bảng định tuyến đã xây dựng • Nội dung của thông điệp là độ ưu tiên của mỗi Server, kết thúc quá trình này sẽ cho hệ thống biết Server nào có độ ưu tiên cao nhất theo giải thuật LeLann Học viên thực hiện: Võ Thanh Thịnh Trang 11 Báo cáo tiểu luận môn học: Lập trình mạng 3 Xây dựng giải pháp gắn bó yếu. .. tuyến sau khi các router đã trao đổi thông tin với nhau và được lưu ở file: routing table.txt Học viên thực hiện: Võ Thanh Thịnh Trang 15 Báo cáo tiểu luận môn học: Lập trình mạng 3.3.2 Giải quyết bài toán 3.3.2.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 • Một router sẽ gửi thông tin định tuyến đang có gửi cho router... môn học: Lập trình mạng 4 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 chương trình 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... hiện: Võ Thanh Thịnh Trang 12 Báo cáo tiểu luận môn học: Lập trình mạng đi cho tập hợp các trạm Trên mỗi trạm, tồn tại một tiến trình server được đảm nhận nhiệm vụ tiếp nhận các yêu cầu theo trật tự của dấu Điều đó cho phép có được một sự gắn bó yếu giữa các bản sao khác nhau Các giao dịch cần là các khả năng đọc, ghi hay cập nhật Cập nhật được xác định như là một dãy các thao tác đọc rồi ghi, thao tác... này các bảng định tuyến chỉ chứa các địa chỉ mạng của các phần tử kế nối trực tiếp (connected) với chính nó Học viên thực hiện: Võ Thanh Thịnh Trang 14 Báo cáo tiểu luận môn học: Lập trình mạng Để 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. .. vẫn còn nhiều điểm cần phải chỉnh sửa để hoàn thiện hơn Cụ thể, chương trình cần sửa đổi và bổ sung thêm một số tính năng sau: • Xử lý khi có sự cố xảy ra trên mạng • Xử lý và chọn lọc những thông tin trước khi gửi để tối ưu về mặt đường truyền Học viên thực hiện: Võ Thanh Thịnh Trang 17 Báo cáo tiểu luận môn học: Lập trình mạng Tài liệu tham khảo [1] Hệ tin học phân tán – TS Lê Văn Sơn, Nhà xuất bản... cấp từ bộ tuần hoàn Các yêu cầu được tiếp nhận tại mỗi trạm theo cùng một trật tự thống nhất Điều đó giúp ta có được một sự gắn bó yếu Học viên thực hiện: Võ Thanh Thịnh Trang 13 Báo cáo tiểu luận môn học: Lập trình mạng Bộ tuần tự cung cấp cho mỗi một yêu cầu số sắp tới chưa dùng, giả sử đó là T Khi đến phiên của trạm nhận bộ tuần tự, nó yêu cầu một số lượng n số đúng bằng số lượng các yêu cầu cập nhật... phối hợp với yêu cầu xử lý cuối cùng Các yêu cầu mang các số lớn hơn V+1 được lưu trữ trong khi chờ xử lý yêu cầu V+1 Một trạm khi đã rút một lượng số cần phải được sử dụng hết khi nó đến lượt tiếp theo tiếp nhận bộ tuần tự nếu không các trạm khác sẽ phải chờ 3.3 Bài toán gắn bó yếu trên CSDL 3.3.1 Phát biểu bài toán 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 . đổi) Gắn bó Không gắn bó Gắn bó T Báo cáo tiểu luận môn học: Lập trình mạng 1 Giải thuật LeLann để lập trình cho các hệ phân tán gắn bó yếu 1.1 Khái niệm về gắn bó thông tin và các hình thức gắn bó. sau: • 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. bó trong hệ phân tán Để thuận tiện trong việc mô tả khái niệm về gắn bó yếu, trước hết ta định nghĩa gắn bó thông tin trong hệ phân tán là gì? 1.1.1 Gắn bó thông tin trong hệ phân tán Các đối