Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 68 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
68
Dung lượng
1,61 MB
Nội dung
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN HỮU LOAN GIẢIPHÁPBACKUPDỮLIỆU,SỬDỤNGCƠCHẾPHÂNCỤMĐỘNGTRONGMẠNGNGANGHÀNG CĨ CẤUTRÚC LUẬN VĂN THẠC SỸ: NGÀNH CƠNG NGHỆ THÔNG TIN Hà Nội - Năm 2017 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN HỮU LOAN GIẢIPHÁPBACKUPDỮLIỆU,SỬDỤNGCƠCHẾPHÂNCỤMĐỘNGTRONGMẠNGNGANGHÀNGCÓCẤUTRÚC Ngành: Công nghệ thông tin Chuyên ngành: Hệ thống thông tin Mã số: 60.48.01.04 LUẬN VĂN THẠC SỸ: NGÀNH CÔNG NGHỆ THÔNG TIN NGƯỜI HƯỚNG DẪN KHOA HỌC: TS Nguyễn Hoài Sơn Hà Nội - Năm 2017 LỜI CẢM ƠN Lời xin gửi lời cảm ơn chân thành sâu sắc đến thầy giáo TS Nguyễn Hoài Sơn, người thầy vô tâm huyết hướng dẫn, giúp đỡ động viên suốt thời gian nghiên cứu hồn thiện luận văn Tơi xin chân thành cảm ơn thầy, cô giáo Khoa Công nghệ Thông tin trường Đại học Công nghệ - Đại học Quốc gia Hà Nội truyền đạt kiến tạo điều kiện tốt suốt q trình tơi học tập nghiên cứu trường Tôi xin chân thành cảm ơn anh Nguyễn Đình Nghĩa, người giúp đỡ, hướng dẫn hỗ trợ nhiệt tình tơi suốt trình nghiên cứu xây dựng luận văn Tôi xin chân thành cảm ơn tất bạn học viên cao học chia sẻ giúp đỡ tơi nhiều q trình hồn thành mơn học trường Nhân xin chân thành cảm ơn gia đình, bạn bè đồng nghiệp ủng hộ tinh thần, tạo điều kiện để học tập nghiên cứu chương trình thạc sỹ Đại học Công nghệ Đại học Quốc gia Hà Nội Hà Nội, ngày 28 tháng năm 2017 Học Viên Nguyễn Hữu Loan LỜI CAM ĐOAN Tôi xin cam đoan luận văn thạc sỹ công nghệ thông tin “Giải phápbackup liệu sửdụngchếphâncụm động, mạngnganghàngcócấu trúc” cơng trình nghiên cứu riêng tơi hướng dẫn TS Nguyễn Hồi Sơn, khơng chép lại người khác Các tài liệu tham khảo trích dẫn thích đầy đủ Hà Nội, ngày 28 tháng năm 2017 Học Viên Nguyễn Hữu Loan MỤC LỤC MỞ ĐẦU CHƯƠNG 1: TỔNG QUAN VỀ KIẾN TRÚC HỆ THỐNG MẠNGNGANGHÀNG 1.1 Hệ thống P2P tập trung 1.2 Hệ thống P2P phân tán 12 1.3 Hệ thống P2P hỗn hợp .21 CHƯƠNG 2: CÁC PHƯƠNG PHÁPBACKUPDỮ LIỆU TRÊN MẠNGNGANGHÀNGCÓCẤUTRÚC 23 2.1 Cơchếbackup theo successor list 23 2.2 Phâncụm tĩnh mạng Chord 26 2.2.1 Phương pháp tách cụm tĩnh 26 2.2.2 Phương phápbackup file 27 2.3 Kết luận 30 CHƯƠNG 3: PHƯƠNG PHÁPPHÂNCỤMĐỘNG VÀ CƠCHẾBACKUP 31 3.1 Nguyên tắc chung 31 3.2 Phương pháp tách nhập cụm 35 3.3 Phân mảnh đưa file vào mạng .37 3.4 Backup node rời mạng 38 3.4.1 Backup mảnh liệu nằm cụm 38 3.4.2 Backup mảnh liệu nằm cụm 39 CHƯƠNG 4: ĐÁNH GIÁ HIỆU QUẢ PHƯƠNG PHÁP TÁCH NHẬP CỤMSỬDỤNGCƠCHẾPHÂNCỤMĐỘNG .41 4.1 Chương trình mô 41 4.2 Đánh giá so sánh số thông số phương pháp tách nhập cụm theo chếphâncụmđộng so với phâncụm tĩnh .45 4.2.1 Tỷ lệ khôi phục file ban đầu thành công (khi cố định thời gian sống node tăng số file) 45 4.2.2 Tỷ lệ khôi phục file ban đầu thành công (cố định số lượng file thay đổi thời gian sống) 46 4.2.3 Chi phí cho việc trì mảnh 47 4.2.4 So sánh file ban đầu thành công thay đổi số lượng node cụm 48 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN .50 DANH MỤC CÁC THUẬT NGỮ VÀ TỪ VIẾT TẮT Từ G v B ro ad C ap C L cá K L nt ry M o bi le ag e I D P m L c h S ốM h or d N o de D H E ee P 2R an d o m S er S u pe rn o m ột gi Di ễn tả B ản L ột M ạn L ch ế M áy L m ột no DANH MỤC HÌNH VẼ Hình 1-1 Phân loại kiến trúc P2P Hình 1-2 Mơ hình mạng Napster 10 Hình 1-3 Mơ hình trao đổi tìm kiếm thơng tin Gnutella 13 Hình 1-4 Mơ hình mạngsửdụng giao thức Chord (mạng Chord) .16 Hình 1-5 Bảng định tuyến với không gian định danh ID=8 node mạng (0,1,3) 17 Hình 1-6 Mạng Chord với node key 18 Hình 1-7 Quá trình tìm kiếm khóa node 19 Hình 1-8 Mơ tả bước tham gia mạng node .20 Hình 1-9 Mơ hình hệ thống P2P hỗn hợp Bestpeer 22 Hình 2-1 Thủ tục thực hàm get(k) 25 Hình 2-2 Thủ tục giao thức trì tồn cục 26 Hình 2-3 Thủ tục giao thức trì cục 26 Hình 2-4 Hình a mơ tả node cụm với khả lưu trữ (20,35,42,57,73,82,18,54) Hình b mơ tả danh sách node códung lượng lưu trữ lớn lấy từ hình a 28 Hình 3-1 Phương pháp đánh số cụmphân bậc 32 Hình 3-2 Quá trình tách cụm 2.1.1 thành hai cụm 2.1.1.1 2.1.1.2 32 Hình 3-3 Quá trình nhập cụm 1.1.1 1.1.2 để thành cụm 1.1 33 Hình 3-4: Mạng chord với cụm 1.1, 1.2 33 Hình 3-5: Quá trình chuyển node đầu cụm cho node tham gia trước node đầu cụm 34 Hình 3-6 Quá trình chuyển thông tin node đầu cụm rời mạng 35 Hình 3-7 Mơ tả việc tham gia node vào hệ thống 35 Hình 3-8 Mơ tả node rời hệ thống 36 Hình 3-9 Quá trình cập nhật liệu cụm 37 Hình 3-10 Quá trình backupphân mảnh file đưa vào mạng .37 Hình 3-11 Mơ tả cách quản lý key file mảnh 38 Hình 3-12 Quá trình node rời mạng5và cập nhật thơng tin 38 Hình 3-13 Lưu đồ kiểm tra backup mảnh bị 39 Hình 3-14 Mơ tả node định kỳ kiểm tra backup hai cụmđứng trước sau 40 DANH MỤC CÁC BIỂU ĐỒ Biểu đồ 4-1 So sánh tỷ lệ khôi phục file ban đầu thành công phâncụm tĩnh phâncụmđộng 46 Biểu đồ 4-2 So tỷ lệ file ban đầu thành công phâncụm tĩnh phâncụmđộng thay đổi thời gian sống node .47 Biểu đồ 4-3 So sánh chi phí trì mảnh phâncụm tĩnh phâncụmđộng .48 Biểu đồ 4-4 Tỷ lệ phục hồi công file thay đổi số lượng node tách, nhập cụm 49 DANH MỤC CÁC BẢNG Bảng 1-1 Bảng finger table [7] 16 Bảng 4-1: So sánh khác phâncụm tĩnh phâncụmđộng 45 mảnh cụm, giảm việc di duyển mảnh xa cập nhật thông tin cụm nhanh Phương pháp đưa sau: Node đầu cụmcó thơng tin node đầu cụm liền kề (2 node đầu cụm liền kề trước node đầu cụm liền kề sau) Hình 3-14 Mơ tả node định kỳ kiểm tra backup hai cụmđứng trước sau Định kỳ T1 giây node đầu cụm gần gửi thông tin cho node đầu cụm xử lý định kỳ T2 giây (T2>T1) node đầu cụm xa gửi thông tin cho node đầu cụm xử lý Node đầu cụm sau có thơng tin node rời mạng tiến hành kiểm tra để backup liệu tương tự backup mảnh liệu nằm cụm Do việc định kỳ trao đổi thông tin node rời mạng cho nên cụm liền kề để kiểm tra mảnh liệu mà key file liên kết đến, backup mảnh liệu mảnh nằm cụm liền kề Trường hợp mảnh liệu nằm cụm liền kề, node kiểm tra mảnh để backup liệu biết mảnh xa backup lại mảnh vào cụm CHƯƠNG 4: ĐÁNH GIÁ HIỆU QUẢ PHƯƠNG PHÁP TÁCH NHẬP CỤMSỬDỤNGCƠCHẾPHÂNCỤMĐỘNG 4.1 Chương trình mơ Chương trình mơ phâncụmđộng mở rộng từ chương trình mơ Jonathan Ledlie [14] xây dựng ngôn ngữ Microsoft Visual studio C++; Các cụm xây dựng để mô tả hoạt động mô thông qua hàm sau: long clusterInfo::clusterSegMantaince(): Duy trì mảnh liệu cụm, theo định kỳ cập nhật thông tin cụm, kiểm tra backup node cụm Hàm kiểm tra key file xem key đó, mảnh mà key quản lý lại bao nhiêu, xem xét việc có phải backup lại mảnh bị hay không void clusterInfo::updateTheBestServer(): Xử lý việc cập nhật server tốt cụm, server tốt server códung lượng lưu trữ mảnh lớn Định kỳ cập nhật thông tin cụm, hàm kiểm tra lại server có capacity lớn cụm đưa vào danh sách server tốt Khi file đưa vào mạng định kỳ backup lại mảnh, dựa server tốt capacity để gán mảnh vào server map theBestPhysicalSever: Hàm chứa danh sách server tốt nhất, xếp server códung lượng lớn cụm nhằm mục đích phân tải mảnh liệu vào node tốt nhất, để làm giảm việc tải node map lstServer: Hàm quản lý danh sách tất server cụm, ánh xạ ID server với server bool addPs(double psKey, PhysicalServer *ps): Hàm thêm server vào cụm Các Server (node) xây dựng để mô tả hoạt động mô thông qua hàm sau: bool PhysicalServer::checkRecoverFile(double keyF): Hàm kiểm tra có phục hồi file liệu gốc với khóa k truyền vào hay không Hàm trả lại “true” số mảnh lại đủ để backup file gốc tìm thầy file gốc Hàm trả lại false ngược lại void PhysicalServer::keyDistributed(double keyF): Hàm phân bổ mảnh vào cụm, tính chi phí phải backup lại mảnh long PhysicalServer::keyMaintaince(double keyF): Duy trì mảnh liệu khóa map linkBackupPs: Hàm chứa liên kết key với mảnh chứa node int birth (): Xử lý trình tham gia node int death (): Xử lý trình rời mạng node Một số hàm khác: void initClusters(): Khởi tạo cụm ban đầu, gán giá trị cho thuộc tính cụm ban đầu void joinCluster(): Hàm xử lý việc nhập cụm void splitCluster(): Hàm xử lý việc tách cụm void scanClusterInfo(): Hàm quét trường hợp tách, nhập cụm char nextEvent (int &nodeid): Hàm xử lý kiện node tham gia rời mạng int initNodes (string filename, string fileDistribution, PhysicalServer *&ps): Hàm khởi tạo node node gán capacity key file khởi tạo xong Chương trình mơ phâncụmđộng Chương trình mơ xuất phát từ vòng tròn Chord chưa có node tham gia vào mạng số cụm ban đầu Chương trình khởi tạo với server gán với thông số: Khả dung lượng lưu trữ mảnh (capacity) Số file phân bố cho server (file distribution) Chương trình bắt đầu chạy theo vòng, ban đầu vòng tạo node tham gia vào mạng (node birth), từ vòng sau có node tham gia vào mạng (node birth) node rời mạng (node death) Mỗi có node tham gia rời mạng chương trình tính lại số node để xem xét trường hợp tách nhập cụm Định kỳ cập nhật node tốt mạngbackup mảnh liệu Đưa thông số đo đếm thời gian chạy, tổng số truy vấn, số truy vấn thành cơng chi phí trì mảnh liệu, đó: Tổng số truy vấn: tổng số truy vấn tìm key file hệ thống để xác định việc tìm thấy hay không thấy key Số truy vấn thành cơng: tổng số truy vấn tìm thấy file gốc số mảnh lại trì file gốc mà khơng cần phải backup Phí trì: phí để phục hồi mảnh để tạo đủ mảnh file ban đầu Tạo file đầu vào: Tạo file chứa node tham gia (birth) rời mạng (death) với tổng số 4096 node (churnfile), thời gian sống trung bình node 15 phút, 30 phút, giờ, Tạo file dung lượng gán cho node (capacity) File tạo ngẫu nhiên với dung lượng dải từ đến 235 đơn vị Giá trị capacity trung bình node 120 đơn vị Tạo file chứa key file (keyfile) với dung lượng key file khác 5%, 10%, 15%, 20%, 30% Phương pháp tính phân mảnh, trì truy vấn Phương phápphân mảnh: Mỗi file liệu chia làm mảnh, định kỳ cập thông tin, số mảnh =3 phục hồi mảnh lại Nếu số mảnh