Xây dựng chương trình truyền file theo mô hình p2p napster

27 1.7K 19
Xây dựng chương trình truyền file theo mô hình p2p napster

Đ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

Xây dựng chương trình truyền file theo mô hình p2p napster

LỜI MỞ ĐẦU Tốc độ phát triển công nghệ mang đến cho người dùng cuối ứng dụng, tiện ích miễn phí chất lượng Nhưng dù công nghệ thay đổi, biến chuyển nào, nhu cầu chia sẻ liệu cần thiết tất người Con người sử dụng mạng Internet để tìm kiếm thông tin, thông tin có nhiều định dạng Trong thời gian gần đây, chia sẻ file ngang hàng lên lĩnh vực ứng dụng chiếm tỉ lệ sử dụng băng thông lớn mạng Internet Bắt đầu từ tượng Napster vào cuối năm 90, phổ biến chương trình chia sẻ file ngang hàng Gnutella, Freenet, Kazzaa tạo nên xu hướng phát triển mạnh mẽ việc chia sẻ nội dung cộng đồng người dùng Internet Hệ thống mạng ngang hàng ứng dụng chia sẻ file ngang hàng trở thành đề tài thu hút nhiều quan tâm, nghiên cứu nhà khoa học Các hệ thống chia sẻ file ngang hàng ngày phổ dụng nhờ lợi điểm rõ rệt so với hình thức chia sẻ file Web theo kiến trúc client - server Tuy nhiên, ứng dụng chia sẻ file ngang hàng phổ biến Internet hạn chế lớn Chúng cho phép người dùng tìm kiếm file theo tên hay gọi chung định danh chưa có chức truy xuất theo nội dung LỜI CẢM ƠN Lời em xin cảm ơn Thầy Cô Trường Đại Học Bách Khoa, cung cấp cho em thông tin, kiến thức vô quý báu cần thiết suốt thời gian học tập trường để em thực hoàn thành đồ án môn học Để thực hoàn thành tốt đề tài này, em nhận giúp đỡ hướng dẫn tận tình Thầy Cô thuộc Khoa Công Nghệ Thông Tin Đặc biệt em xin chân thành gửi lời cảm ơn tới Thầy: Mai Văn Hà người trực tiếp hướng dẫn tận tình giúp đỡ chúng em nhiều suốt thời gian thực đồ án môn học Cuối cùng, xin chân thành cảm ơn tất bạn ủng hộ, giúp đỡ, chia sẻ kiến thức, kinh nghiệm tài liệu có cho bọn trình nghiên cứu thực đề tài Do giới hạn mặt thời gian kinh nghiệm thực tiễn nên đề tài không tránh khỏi sai sót ý muốn Chúng em mong nhận thông cảm Quý Thầy Cô mong đón nhận đóng góp ý kiến Thầy Cô bạn Em Xin Chân Thành Cảm Ơn ! Đà Nẵng, Ngày 24 Tháng 12 Năm 2013 Sinh Viên Thực Hiện Nguyễn Văn Phúc NHẬN XÉT (Của giảng viên hướng dẫn) ……………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ……………………………………… MỤC LỤC CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN ĐỀ TÀI .1 1.1Bối cảnh để tài 1.2Mục tiêu mục đích đề tài 1.3Phương pháp triển khai 1.4 Môi trường áp dụng CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1 Giới thiệu mạng ngang hàng P2P 2.1.1 Khái niệm .2 2.1.2 Đặc điểm mạng ngang hàng 2.1.3 Phân loại mạng ngang hàng .3 2.1.4 Tiện ích mạng ngang hàng 2.1.5 Những khó khăn thiết kế mạng ngang hàng 2.2 Mô hình mạng Naspter 2.2.1 Giới thiệu mô hình mạng Naspter 2.2.2 Sơ đồ hoạt động Naspter CHƯƠNG 3: THIẾT KẾ VẦ XÂY DỰNG CHƯƠNG TRÌNH .8 3.1 Phân tích yêu cầu 3.2 Phân tích chức .9 3.2.1 Chức Napster Server 3.2.2 Chức Napster Client 3.2.3 Thiết kế liệu 11 CHƯƠNG 4: TRIỂN KHAI VÀ ĐÁNH GIÁ KẾT QUẢ .12 4.1 Môi trường triển khai 12 4.1.1 Giới thiệu ngôn ngữ lập trình Java 12 4.1.2 Giới thiệu hệ quản trị SQL Server 14 4.2 Demo sản phẩm 16 4.2.1 Giao diện Client: 16 4.2.2 Giao diện quản lý Napster Server: 20 MỤC LỤC HÌNH ẢNH Hình 1: Mô hình hoạt động Napster Hình 2: Chức chia sẻ file .10 Hình 3: Tìm kiếm file .10 Hình 4: Truyền nhận file 11 Hình 5: Giao diện Client 16 Hình 6: Chọn file để tiến hành chia sẻ 16 Hình 7: Chọn nút chia sẻ 17 Hình 8: File vừa chia sẻ 17 Hình 9: Tìm kiếm file cần tải 18 Hình 10: Tiến hành chọn nơi lưu file .18 Hình 11: Quá trình Download file 19 Hình 12: Download file thành công .19 Hình 13: Giao diện server chưa có client kết nối .20 Hình 14: Thông tin Client file chia sẻ 20 CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN ĐỀ TÀI 1.1 Bối cảnh để tài - Với phát triển mạnh mẽ công nghệ thông tin máy tính trở thành công cụ đắc lực thiếu người Con người sử dụng mạng Internet phần lớn để tìm kiếm tài liệu, thông tin Vì em chọn đề tài “XÂY DỰNG CHƯƠNG TRÌNH TRUYỀN FILE THEO MÔ HÌNH P2PNAPSTER” Chương trình xây dựng ngôn ngữ lập trình Java, dựa ứng dụng mạng ngang hàng P2P 1.2 Mục tiêu mục đích đề tài - Mục tiêu: hiểu công nghệ truy xuất thông tin để xây dựng ứng dụng chia sẻ file ngang hàng có chức tìm kiếm theo nội dung - Mục đích: Tìm Xây dựng chương trình truyền file theo mô hình P2PNapster 1.3 Phương pháp triển khai − Lập kế hoạch thực đề tài − Thiết kế hệ thống liệu − Tìm hiểu giao thức TCP/IP − Xây dựng chương trình − Kiểm thử sửa lỗi − Tổng hợp viết báo cáo 1.4 Môi trường áp dụng - Ngôn ngữ lập trình : Java - Quản trị sở liệu: SQL server 2012 - Môi trường làm việc: Netbean 7.4 SVTH:Nguyễn Văn Phúc – 12TLT Trang CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1 Giới thiệu mạng ngang hàng P2P 2.1.1 Khái niệm Mạng ngang hàng vấn đề hoàn toàn Các máy chủ dịch vụ thư điện tử (Mail servers) máy chủ phân giải tên miền (Domain Name Servers) kết nối với tạo mạng ngang hàng Ví dụ máy chủ thư điện tử thực tương tác trực tiếp với Chúng gửi, nhận chuyển tiếp email cho Tuy dịch vụ thư điện tử hay DNS xuất từ lâu Internet khái niệm mạng ngang hàng hay tính toán ngang hàng (P2P – Peer-to-Peer) đưa gần Mạng ngang hàng hệ phân tán với đặc thù không tồn cấu điều khiển tập trung tổ chức có phân cấp Trong hệ thống túy ngang hàng, chương trình chạy điểm nút có vai trò hoàn toàn tương đương bình đẳng với Tính chất đối lập hoàn toàn với kiến trúc client – server truyền thống nơi có điểm nút đóng vai trò cung cấp dịch vụ (servers) điểm nút lại sử dụng dịch vụ (clients) Lợi điểm rõ rệt kiến trúc ngang hàng khả tận dụng tốt tài nguyên (xử lý, băng thông, lưu trữ) toàn mạng Bên cạnh đó, kiến trúc giúp cho dịch vụ mạng tránh khỏi tình trạng ngừng trệ server gặp phải trục trặc Tuy nhiên mô hình tồn nhược điểm khó kiểm soát trạng thái, hành vi điểm nút toàn mạng Ngoài đòi hỏi máy tham gia vào mạng ngang hàng phải có lực xử lý băng thông gần tương đương Không giống kiến trúc client – server, hiệu suất hoạt động chung mạng ngang hàng có xu hướng tăng lên gia tăng số điểm nút tham gia Hiệu suất phụ thuộc vào ứng dụng mạng cụ thể, vào giao thức ngang hàng cấu hình mạng (topology) SVTH:Nguyễn Văn Phúc – 12TLT Trang 2.1.2 Đặc điểm mạng ngang hàng Các mạng ngang hàng ngày thường mang số đặc trưng phổ biến sau:  Các điểm nút mạng nhận biết lẫn nhau, nghĩa có chế giúp cho điểm nút tham gia vào mạng xác định máy khác thành viên mạng Từ chúng định vị nhau, gửi thông điệp tới nhận thông điệp từ  Các điểm nút tạo mạng kết nối ảo mức trừu tượng cao so với cấu tổ chức như: tường lửa (firewall), NAT (Network Address Translation), mạng (subnet) Mỗi điểm nút nằm mạng khác nhau, chịu chế tổ chức, kiểm soát giới hạn hoàn toàn riêng biệt Tuy nhiên tham gia vào mạng, chúng tổ chức mối liên kết logic với thông qua việc sử dụng dịch vụ chạy ứng dụng tầng cao so với chế vừa nhắc tới Tạo mạng kết nối logic điểm nút bị biệt lập hóa mạng riêng biệt ý tưởng xuyên suốt kiến trúc ngang hàng  Mỗi điểm nút tự vừa đóng vai trò client vừa đóng vai trò server Điều thể rõ vai trò bình đẳng độc lập điểm nút Mọi điểm nút vừa cung cấp dịch vụ cho điểm nút khác vừa sử dụng dịch vụ hay nhiều điểm nút lại  Xuất số nhóm điểm nút liên kết với để chia sẻ liệu cộng tác với xử lý Đây tổ hợp lại điểm nút có mối liên hệ chặt chẽ mang tính tương tác gần gũi trình hoạt động ứng dụng mạng 2.1.3 Phân loại mạng ngang hàng Các ứng dụng mạng ngang hàng chia thành số nhóm sau:  Chia sẻ file: Gnutella, FastTrack, Napster  Chia sẻ tài nguyên phân tán: SETI@Home, Avaki, Entropia dự án tính toán lưới SVTH:Nguyễn Văn Phúc – 12TLT Trang  Phân phối nội dung: OpenCola, Blue Falcon Networks, Konitiki  Truyền thông P2P: AOL Instant Messenger, Yahoo! Messenger, ICQ, Jabber  Các ứng dụng cộng tác: Hive, Groove, myJXTA 2.1.4 Tiện ích mạng ngang hàng  Giúp cho người dùng dễ dàng tìm liệu cần thiết  Tận dụng tiện ích tổng hợp: Nơi lưu trữ, thông tin chi phí tính toán phân phối PEER, làm máy tính tham gia vào mạng dễ dàng có thông tin yêu cầu  Tăng độ tin cậy  Chứa đựng nhiều thông tin: Trong mạng P2P có nhiều máy tính tham vào, thân máy tính chứa nhiều thông tin, công cụ tìm kiếm nắm bắt khoảng 20% nội dung Website 2.1.5 Những khó khăn thiết kế mạng ngang hàng  Cân đối băng thông: Trong phần lớn ứng dụng chạy mạng ngang hàng, điểm nút đóng hai vai trò: client server nên tỉ lệ sử dụng băng thông đầu (outbound bandwidth) băng thông đầu vào (inbound bandwidth) điểm nút tương đối cân Tuy nhiên nhà cung cấp dịch vụ mạng (ISPs) lại thường triển khai mạng không đối xứng dành ưu tiên cho phần băng thông đầu vào Ví dụ số ISP mạng DSL hỗ trợ 1.5Mbps băng thông đầu vào có 128Kbps cho băng thông đầu Cho dù băng thông tổng cộng kết nối vật lý có mở rộng hạ tầng kỹ thuật ISP chủ yếu hỗ trợ chế bất đối xứng Giải pháp triệt vấn đề đến từ cộng tác ISP khách hàng việc triển khai thiết bị mạng chuyên dụng  Tổ chức không gian tên: Việc đặt tên cho website thực thông qua hệ thống phân cấp dịch vụ phân giải tên miền (DNS) Tuy nhiên mạng ngang hàng không tồn chế tương tự Không máy chủ SVTH:Nguyễn Văn Phúc – 12TLT Trang dịch vụ web, điểm nút mạng ngang hàng không tồn trạng thái tĩnh Thời điểm khoảng thời gian tham gia vào mạng điểm nút ko thể xác định Công việc tạo tên (định danh) cho đối tượng, thành phần mạng phải thực người phát triển ứng dụng phụ thuộc vào đặc thù ứng dụng  Chứng thực kiểm tra quyền truy cập người dùng: Nếu tất file đặt server dễ dàng việc chứng thực người dùng kiểm tra quyền hạn truy cập họ liệu Tuy nhiên tính chất phân tán mạng ngang hàng, công việc phải thực điểm nút Người phát triển muốn xây dựng ứng dụng ngang hàng hoàn chỉnh cần quan tâm nhiều đến vấn đề bảo mật, chống hành động xâm nhập trái phép làm ảnh hưởng tới liệu  Kiểm soát hành vi người dùng: Do lưu trữ tập trung thông tin hành động điểm nút nên khó kiểm soát hành động Lấy ví dụ mạng chia sẻ file ngang hàng, người dùng thực hành vi không thực phù hợp sau: + Không chia sẻ file máy + Chia sẻ file bị lỗi + Chia sẻ file chứa mã nguy hiểm, virus + Chia sẻ file mà nội dung chắn không quan tâm + Không cho phép điểm nút khác tải file chia sẻ máy Nếu tất điểm nút tham gia thực hành vi tiêu cực hoạt động mạng ngang hàng thực không hiệu an toàn Tùy thuộc vào ứng dụng cụ thể, người thiết kế phát triển phải thiết lập chế kiểm soát hành vi điểm nút để bảo đảm chúng thực có đóng góp tích cực cho cộng đồng sử dụng mạng SVTH:Nguyễn Văn Phúc – 12TLT Trang CHƯƠNG 3: THIẾT KẾ VẦ XÂY DỰNG CHƯƠNG TRÌNH 3.1 Phân tích yêu cầu Trong mục em đưa giải pháp xây dựng chương trình ứng dụng chia sẻ file mạng ngang hàng theo kiến trúc Napster, cung cấp khả tìm kiếm theo nội dung Ứng dụng bao gồm ba chức sau:  Cho phép người dùng điểm nút tham gia vào mạng tiến hành chia sẻ file dừng chia sẻ tài liệu máy  Cho phép người dùng đưa truy vấn để tìm kiếm theo nội dung tài liệu chia sẻ phạm vi toàn mạng  Cho phép người dùng tải tài liệu chia sẻ điểm nút khác Để thực ba chức nêu trên, chương trình tách thành hai thành phần triển khai hai phía: phía điểm nút phía máy chủ tìm kiếm Nhiệm vụ triển khai máy chủ tìm kiếm:  Tổ chức xây dựng cập nhật mục tìm kiếm  Tiếp nhận truy vấn từ điểm nút, tìm kiếm dựa mục trả danh sách kết Nhiệm vụ thành phần triển khai điểm nút:  Gửi tới máy chủ tìm kiếm yêu cầu đăng nhập đăng xuất khỏi hệ thống mạng ngang hàng  Tiếp nhận yêu cầu người dùng gửi đến máy chủ tìm kiếm thông báo chia sẻ dừng chia sẻ file lưu trữu nút  Tiếp nhận truy vấn người dùng nhập, gửi đến máy chủ tìm kiếm tổ chức hiển thị kết trả  Tiếp nhận gửi yêu cầu tải tài liệu người dùng tới điểm nút đích, đóng vai trò phía client hoạt động tải tài liệu SVTH:Nguyễn Văn Phúc – 12TLT Trang  Tiếp nhận yêu cầu tải tài liệu chia sẻ máy cục đóng vai trò server cung cấp tài liệu cho điểm nút khác 3.2 Phân tích chức 3.2.1 Chức Napster Server Module cài đặt lên máy định làm server kết nối Napster Napster Server có chức quản lý toàn client kết nối thời điểm định, quản lý tài nguyên chia sẻ như: tên tài nguyên, nơi chia sẻ tài nguyên đó(Client chia sẻ)… Ngoài chức quản lý, Server thực tìm kiếm tài nguyên theo yêu cầu từ client gởi yêu cầu lên, theo từ khóa: Một client muốn tìm kiếm tệp tin theo từ khóa “abc” việc nhập từ khóa vào ô tìm kiếm gởi yêu từ khóa lên server, Server nhận yêu cầu tìm kiếm tài nguyên thực truy vấn tài nguyên chia sẻ kết nối thời điểm có trả thông tin tài nguyên nơi ( client ) chia sẻ tài nguyên 3.2.2 Chức Napster Client Napster Client cài đặt lên máy muốn tham gia vào mạng chia sẻ Napster, đóng vài trò Client, thực số chức sau:  Chức 1: Khi khởi động Client Napster thực kết nối tới server “Gởi lời Đề Nghị” Tức gởi yêu cầu (message) đến Server để đăng kí tham gia vào mạng chia sẻ đó, Client quyền phép chia sẻ Download tài nguyên mạng chia sẻ  Chức 2: Chia sẻ File  Nếu bên phía client có tài liệu, hay tệp tin hữu ích muốn chia sẻ cho người khác thì, click chọn vào mục chia sẻ giao diện làm việc chọn file muốn chia sẻ ok thông tin file chia sẻ client gởi lên máy chủ (Napster Server) SVTH:Nguyễn Văn Phúc – 12TLT Trang Hình 2: Chức chia sẻ file  Chức 3: Tải File Nếu client gởi lời yêu cầu tài nguyên lên Server nhờ thực việc tìm kiếm OK, Server trả số link liến kết đến client khác có chức tài nguyên chia sẻ Thì giao diện Client Napster người dùng click chọn link để download trực tiếp máy Hình 3: Tìm kiếm file SVTH:Nguyễn Văn Phúc – 12TLT Trang 10 Hình 4: Truyền nhận file 3.2.3 Thiết kế liệu Dữ liệu cài đặt Server Napster để chứa thông tin tài nguyên client chia sẻ file, quản lý nhật ký… Bảng: tbFile TÊN TRƯỜNG KIỂU DỮ LIỆU MÔ TẢ IP Text IP máy chia sẻ file Port Chia Se int Cổng nhận nhận yêu cầu kết nối tải file chia sẻ File Chia Se Text Tên file chia sẻ DuongDan Text Đường dẫn tới file chia sẻ Ngay Chia se Date Thời gian chia sẻ SVTH:Nguyễn Văn Phúc – 12TLT Trang 11 CHƯƠNG 4: TRIỂN KHAI VÀ ĐÁNH GIÁ KẾT QUẢ 4.1 Môi trường triển khai 4.1.1 Giới thiệu ngôn ngữ lập trình Java - Java ngôn ngữ lập trình Sun Microsystems giới thiệu vào tháng năm 1995 Từ đó, trở thành công cụ lập trình lập trình viên chuyên nghiệp Java xây dựng tảng C C++ Do sử dụng cú pháp C đặc trưng hướng đối tượng C++ - Java ngôn ngữ lập trình hướng đối tượng, dùng Java để viết chương trình hướng chức Java giải hầu hết công việc mà ngôn ngữ khác làm - Java ngôn ngữ vừa biên dịch vừa thông dịch Đầu tiên mã nguồn biên dịch công cụ JAVAC để chuyển thành dạng ByteCode Sau thực thi loại máy cụ thể nhờ chương trình thông dịch Mục tiêu nhà thiết kế Java cho phép người lập trình viết chương trình lần chạy phần cứng cụ thể - Ngày nay, Java sử dụng rộng rãi để viết chương trình chạy Internet Nó ngôn ngữ lập trình hướng đối tượng độc lập thiết bị, không phụ thuộc vào hệ điều hành Nó không dùng để viết ứng dụng chạy đơn lẻ hay mạng mà để xây dựng trình điều khiển thiết bị cho điện thoại di động, PDA, … Các kiểu chương trình Java:  Applets chương trình tạo để sử dụng Internet thông qua trình duyệt hỗ trợ Java IE hay Netscape Bạn dùng Java để xây dựng Applet Applet nhúng bên trang Web Khi trang Web hiển thị trình duyệt, Applet tải thực thi trình duyệt  Ứng dụng thực thi qua dòng lệnh: Các chương trình chạy từ dấu nhắc lệnh không sử dụng giao diện đồ họa Các thông tin nhập xuất thể dấu nhắc lệnh SVTH:Nguyễn Văn Phúc – 12TLT Trang 12  Ứng dụng đồ họa: Đây chương trình Java chạy độc lập cho phép người dùng tương tác qua giao diện đồ họa  Servlet: Java thích hợp để phát triển ứng dụng nhiều lớp Applet chương trình đồ họa chạy trình duyệt máy trạm Ở ứng dụng Web, máy trạm gửi yêu cầu tới máy chủ Máy chủ xử lý gửi kết trở lại máy trạm Các Java API chạy máy chủ chịu trách nhiệm xử lý máy chủ trả lời yêu cầu máy trạm Các Java API chạy máy chủ mở rộng khả ứng dụng Java API chuẩn Các ứng dụng máy chủ gọi Servlet Applet máy chủ Xử lý Form HTML cách sử dụng đơn giản Servlet Chúng dùng để xử lý liệu, thực thi giao dịch thường thực thi thông qua máy chủ Web  Ứng dụng sở liệu: Các ứng dụng sử dụng JDBC API để kết nối tới sở liệu Chúng Applet hay ứng dụng, Applet bị giới hạn tính bảo mật Dịch thực thi chương trình viết Java: - Việc xây dựng, dịch thực thi chương trình viết ngôn ngữ lập trình java tóm tắt qua bước sau: • Viết mã nguồn: dùng chương trình soạn thảo (NotePad hay Jcreator chẳng hạn) để viết mã nguồn lưu lại với tên có đuôi ".java" • Biên dịch mã máy ảo: dùng trình biên dịch javac để biên dịch mã nguồn ".java" thành mã máy ảo (java bytecode) có đuôi ".class" lưu lên đĩa • Thông dịch thực thi: ứng dụng load vào nhớ, thông dịch thực thi dùng trình thông dịch Java thông qua lệnh "java" • Đưa mã java bytecode vào nhớ: bước "loading" Chương trình phải đặt vào nhớ trước thực thi "Loader" lấy files chứa mã java bytecode có đuôi ".class" nạp chúng vào nhớ SVTH:Nguyễn Văn Phúc – 12TLT Trang 13 • Kiểm tra mã java bytecode: trước trình thông dịch chuyển mã bytecode thành mã máy tương ứng để thực thi mã bytecode phải kiểm tra tính hợp lệ • Thông dịch & thực thi: cuối điều khiển CPU trình thông dịch thời điểm có mã bytecode chuyển sang mã máy thực thi 4.1.2 Giới thiệu hệ quản trị SQL Server - Microsoft SQl server hệ quản trị sở liệu quan hệ (Relational Database Management System – RDBMS) Microsoft phát triển SQL Server hệ quản trị sở liệu quan hệ mạng máy tính hoạt động theo mô hình khách chủ cho phép đồng thời lúc có nhiều người dùng truy xuất đến liệu, quản lý việc truy nhập hợp lệ quyền hạn người dùng mạng Ngôn ngữ truy vấn quan trọng Microsoft SQL server Transact-SQL Transact-SQL ngôn ngữ SQL mở rộng dựa SQL chuẩn ISO (International Organization for Standardization) ANSI (American National Standards Institute) sử dụng SQL Server - Quay lại lịch sử, lúc đầu Microsoft quay sang kết hợp với công ty Sybase để hợp tác làm sản phẩm thuộc loại hệ quản trị sở liệu (Database Management System) Với hợp tác tốt đẹp, hai công ty thành công cho đời sản phẩm thuộc loại sở liệu có tên Ashton-Tate vào năm 1989, sản phẩm hoạt động môi trường OS/2 Sau thời gian, Sybase phát triển sản phẩm môi trường UNIX đổi tên riêng DataServer mà ngày có tên khác Sybase Adaptive Server Microsoft định không phát triển hệ điều hành OS/2 mà thay vào cho đời hệ điều hành mạng máy tính có tên Windows NT Server Và SQL Serverchỉ hoạt động độc lập môi trường Windows NT Server mà Lần lượt phiên Microsoft SQL Server đời sau kiện này, từ 4.2 sau nâng cấp thành 4.21, 6.0, 6.5, 7.0 Microsoft SQL Server 2000, 2005 Microsoft SQL Server 2014 SVTH:Nguyễn Văn Phúc – 12TLT Trang 14 Vai trò SQL: - SQL ngôn ngữ hỏi có tính tương tác: Người sử dụng dễ dàng thông qua trình tiện ích để gởi yêu cầu dạng câu lệnh SQL đến sở liệu nhận kết trả từ sở liệu - SQL ngôn ngữ lập trình sở liệu: Các lập trình viên nhúng câu lệnh SQL vào ngôn ngữ lập trình để xây dựng nên chương trình ứng dụng giao tiếp với sở liệu - SQL ngôn ngữ quản trị sở liệu: Thông qua SQL, người quản trị sở liệu quản lý sở liệu, định nghĩa cấu trúc lưu trữ liệu, điều khiển truy cập sở liệu - SQL ngôn ngữ cho hệ thống khách/chủ (client/server): Trong hệ thống sở liệu khách/chủ, SQL sử dụng công cụ để giao tiếp trình ứng dụng phía máy khách với máy chủ sở liệu - SQL ngôn ngữ truy cập liệu Internet: Cho đến nay, hầu hết máy chủ Web máy chủ Internet sử dụng SQL với vai trò ngôn ngữ để tương tác với liệu sở liệu - SQL ngôn ngữ sở liệu phân tán: Đối với hệ quản trị sở liệu phân tán, hệ thống sử dụng SQL để giao tiếp với hệ thống khác mạng, gởi nhận yêu cầu truy xuất liệu với - SQL ngôn ngữ sử dụng cho cổng giao tiếp sở liệu: Trong hệ thống mạng máy tính với nhiều hệ quản trị sở liệu khác nhau, SQL thường sử dụng chuẩn ngôn ngữ để giao tiếp hệ quản trị sở liệu SVTH:Nguyễn Văn Phúc – 12TLT Trang 15 4.2 Demo sản phẩm 4.2.1 Giao diện Client: Hình 5: Giao diện Client  Chia sẻ File: Hình 6: Chọn file để tiến hành chia sẻ SVTH:Nguyễn Văn Phúc – 12TLT Trang 16 Hình 7: Chọn nút chia sẻ Hình 8: File vừa chia sẻ SVTH:Nguyễn Văn Phúc – 12TLT Trang 17  Download File Hình 9: Tìm kiếm file cần tải Hình 10: Tiến hành chọn nơi lưu file SVTH:Nguyễn Văn Phúc – 12TLT Trang 18 Hình 11: Quá trình Download file Hình 12: Download file thành công SVTH:Nguyễn Văn Phúc – 12TLT Trang 19 4.2.2 Giao diện quản lý Napster Server: Hình 13: Giao diện server chưa có client kết nối Hình 14: Thông tin Client file chia sẻ SVTH:Nguyễn Văn Phúc – 12TLT Trang 20 4.3 Kết luận  Ưu điểm: • Thực chia sẻ file nhanh chóng dễ dàng • Chương trình tìm kiếm, tải file , tạm dừng hủy tải file • Giao diện thân thiện dễ sử dụng • Nhận kết nối thực truyền file đến cho client yêu cầu tải file chia sẻ  Nhược điểm: • Xử lý đa luồng chưa tốt • Server chậm việc truy xuất csdl gửi cho client  Hướng phát triển: • Sẽ cố gắng hoàn thiện bổ sung thêm tính cho phần mềm trở nên hữu ích • Cải thiện tốc độ thực chương trình SVTH:Nguyễn Văn Phúc – 12TLT Trang 21 TÀI LIỆU THAM KHẢO Nguyễn Phương Lan- Hoàng Đức Hải, Java lâp trình mạng, Nhà xuất Giáo dục http://doc.edu.vn/tai-lieu/bai-tap-lon-mang-so-lieu-mang-ngang-hang-p2p24107/ http://stackoverflow.com/ SVTH:Nguyễn Văn Phúc – 12TLT Trang 22 [...]... quá trình truyền file được thực hiện theo đúng cơ chế của mạng ngang hàng, giữa các host với nhau mà không cần quan máy chủ trung tâm Hình 1: Mô hình hoạt động của Napster SVTH:Nguyễn Văn Phúc – 12TLT Trang 7 CHƯƠNG 3: THIẾT KẾ VẦ XÂY DỰNG CHƯƠNG TRÌNH 3.1 Phân tích yêu cầu Trong mục này em sẽ đưa ra giải pháp xây dựng một chương trình ứng dụng chia sẻ file trong mạng ngang hàng theo kiến trúc Napster, ... Client: Hình 5: Giao diện chính của Client  Chia sẻ File: Hình 6: Chọn file để tiến hành chia sẻ SVTH:Nguyễn Văn Phúc – 12TLT Trang 16 Hình 7: Chọn nút chia sẻ Hình 8: File vừa mới chia sẻ SVTH:Nguyễn Văn Phúc – 12TLT Trang 17  Download File Hình 9: Tìm kiếm file cần tải Hình 10: Tiến hành chọn nơi lưu file SVTH:Nguyễn Văn Phúc – 12TLT Trang 18 Hình 11: Quá trình Download file Hình 12: Download file. .. mạng mà còn để xây dựng các trình điều khiển thiết bị cho điện thoại di động, PDA, … Các kiểu chương trình Java:  Applets là chương trình được tạo ra để sử dụng trên Internet thông qua các trình duyệt hỗ trợ Java như IE hay Netscape Bạn có thể dùng Java để xây dựng Applet Applet được nhúng bên trong trang Web Khi trang Web hiển thị trong trình duyệt, Applet sẽ được tải về và thực thi tại trình duyệt... của Napster Server: Hình 13: Giao diện server khi chưa có client kết nối Hình 14: Thông tin Client và các file đã chia sẻ SVTH:Nguyễn Văn Phúc – 12TLT Trang 20 4.3 Kết luận  Ưu điểm: • Thực hiện chia sẻ file nhanh chóng dễ dàng • Chương trình có thể tìm kiếm, tải file , tạm dừng và hủy tải file • Giao diện thân thiện dễ sử dụng • Nhận kết nối và thực hiện truyền các file đến cho client yêu cầu tải file. .. giao diện Client Napster người dùng click chọn một link để download trực tiếp về máy mình Hình 3: Tìm kiếm file SVTH:Nguyễn Văn Phúc – 12TLT Trang 10 Hình 4: Truyền và nhận file 3.2.3 Thiết kế dữ liệu Dữ liệu được cài đặt trên Server Napster để chứa thông tin các tài nguyên và client chia sẻ file, quản lý nhật ký… Bảng: tbFile TÊN TRƯỜNG KIỂU DỮ LIỆU MÔ TẢ IP Text IP của máy chia sẻ file Port Chia Se... hạn bởi tính bảo mật Dịch và thực thi một chương trình viết bằng Java: - Việc xây dựng, dịch và thực thi một chương trình viết bằng ngôn ngữ lập trình java có thể tóm tắt qua các bước sau: • Viết mã nguồn: dùng một chương trình soạn thảo nào đấy (NotePad hay Jcreator chẳng hạn) để viết mã nguồn và lưu lại với tên có đuôi ".java" • Biên dịch ra mã máy ảo: dùng trình biên dịch javac để biên dịch mã nguồn... hỏi có tính tương tác: Người sử dụng có thể dễ dàng thông qua các trình tiện ích để gởi các yêu cầu dưới dạng các câu lệnh SQL đến cơ sở dữ liệu và nhận kết quả trả về từ cơ sở dữ liệu - SQL là ngôn ngữ lập trình cơ sở dữ liệu: Các lập trình viên có thể nhúng các câu lệnh SQL vào trong các ngôn ngữ lập trình để xây dựng nên các chương trình ứng dụng giao tiếp với cơ sở dữ liệu - SQL là ngôn ngữ quản... Chia Se int Cổng nhận nhận yêu cầu kết nối tải file đã chia sẻ File Chia Se Text Tên file đã chia sẻ DuongDan Text Đường dẫn tới file đã chia sẻ Ngay Chia se Date Thời gian chia sẻ SVTH:Nguyễn Văn Phúc – 12TLT Trang 11 CHƯƠNG 4: TRIỂN KHAI VÀ ĐÁNH GIÁ KẾT QUẢ 4.1 Môi trường triển khai 4.1.1 Giới thiệu ngôn ngữ lập trình Java - Java là một ngôn ngữ lập trình được Sun Microsystems giới thiệu vào tháng... thành dạng ByteCode Sau đó được thực thi trên từng loại máy cụ thể nhờ chương trình thông dịch Mục tiêu của các nhà thiết kế Java là cho phép người lập trình viết chương trình một lần nhưng có thể chạy trên bất cứ phần cứng cụ thể - Ngày nay, Java được sử dụng rộng rãi để viết chương trình chạy trên Internet Nó là ngôn ngữ lập trình hướng đối tượng độc lập thiết bị, không phụ thuộc vào hệ điều hành... lệnh: Các chương trình này chạy từ dấu nhắc lệnh và không sử dụng giao diện đồ họa Các thông tin nhập xuất được thể hiện tại dấu nhắc lệnh SVTH:Nguyễn Văn Phúc – 12TLT Trang 12  Ứng dụng đồ họa: Đây là các chương trình Java chạy độc lập cho phép người dùng tương tác qua giao diện đồ họa  Servlet: Java thích hợp để phát triển ứng dụng nhiều lớp Applet là chương trình đồ họa chạy trên trình duyệt ... thông tin Vì em chọn đề tài “XÂY DỰNG CHƯƠNG TRÌNH TRUYỀN FILE THEO MÔ HÌNH P2PNAPSTER” Chương trình xây dựng ngôn ngữ lập trình Java, dựa ứng dụng mạng ngang hàng P2P 1.2 Mục tiêu mục đích đề... nghệ truy xuất thông tin để xây dựng ứng dụng chia sẻ file ngang hàng có chức tìm kiếm theo nội dung - Mục đích: Tìm Xây dựng chương trình truyền file theo mô hình P2PNapster 1.3 Phương pháp triển... 20 MỤC LỤC HÌNH ẢNH Hình 1: Mô hình hoạt động Napster Hình 2: Chức chia sẻ file .10 Hình 3: Tìm kiếm file .10 Hình 4: Truyền nhận file 11 Hình 5: Giao

Ngày đăng: 18/11/2015, 16:16

Từ khóa liên quan

Mục lục

  • CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN ĐỀ TÀI

    • 1.1 Bối cảnh của để tài

    • 1.2 Mục tiêu và mục đích đề tài

    • 1.3 Phương pháp triển khai

    • 1.4 Môi trường áp dụng

    • CHƯƠNG 2: CƠ SỞ LÝ THUYẾT

      • 2.1 Giới thiệu về mạng ngang hàng P2P

        • 2.1.1 Khái niệm cơ bản

        • 2.1.2 Đặc điểm của mạng ngang hàng

        • 2.1.3 Phân loại mạng ngang hàng

        • 2.1.4 Tiện ích của mạng ngang hàng

        • 2.1.5 Những khó khăn trong thiết kế mạng ngang hàng

        • 2.2 Mô hình mạng Naspter

          • 2.2.1 Giới thiệu mô hình mạng Naspter

          • 2.2.2 Sơ đồ hoạt động của Naspter

          • CHƯƠNG 3: THIẾT KẾ VẦ XÂY DỰNG CHƯƠNG TRÌNH

            • 3.1 Phân tích yêu cầu

            • 3.2 Phân tích các chức năng

              • 3.2.1 Chức năng của Napster Server

              • 3.2.2 Chức năng của Napster Client

              • 3.2.3 Thiết kế dữ liệu

              • CHƯƠNG 4: TRIỂN KHAI VÀ ĐÁNH GIÁ KẾT QUẢ

                • 4.1 Môi trường triển khai

                  • 4.1.1 Giới thiệu ngôn ngữ lập trình Java

                  • 4.1.2 Giới thiệu hệ quản trị SQL Server

                  • 4.2 Demo sản phẩm

                    • 4.2.1 Giao diện chính của Client:

                    • 4.2.2 Giao diện quản lý của Napster Server:

Tài liệu cùng người dùng

Tài liệu liên quan