Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 54 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
54
Dung lượng
1,12 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ẢI PHÁP BACKUP DỮ LIỆU, SỬ DỤNG CƠ CHẾ PHÂN CỤM ĐỘNG TRONG MẠNG NGANG HÀNG CĨ CẤU TRÚ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ẢI PHÁP BACKUP DỮ LIỆU, SỬ DỤNG CƠ CHẾ PHÂN CỤM ĐỘNG TRONG MẠNG NGANG HÀNG CÓ CẤU TRÚ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áp backup liệu sử dụng chế phân cụm động, mạng ngang hàng có 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ẠNG NGANG HÀ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ÁP BACKUP DỮ LIỆU TRÊN MẠNG NGANG HÀNG CÓ CẤU TRÚC 23 2.1 Cơ chế backup theo successor list 23 2.2 Phân cụ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áp backup file 27 2.3 Kết luận 30 CHƯƠNG 3: PHƯƠNG PHÁP PHÂN CỤ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ỤM SỬ DỤNG CƠ CHẾ PHÂN CỤ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ân cụm động so với phân cụ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 Giải nghĩa Từ viết tắt Broadcast Là cách thức truyền gói tin từ điểm tới tất điểm Capacity Khả lưu trữ node Chord Là giao thức mạng ngang hàng biểu diễn mạng dạng vòng tròn Node Diễn tả thực thể mạng peer máy tính kết nối mạng DHT (Distributed Hash Table) Bảng băm phân tán Entry Là bước định tuyến bảng định tuyến Là chương trình có khả di chuyển cách tự trị từ nút mạng Mobile agent sang node mạng khác để hoàn tất tác vụ ID (Identification number) Số định danh Peer Một node mạng ngang hàng P2P (Peer to peer) Mạng ngang hàng Random walk Là chế node tìm kiếm thu thập danh sách Hub sau liên kết trực tiếp tới chúng Server Máy chủ Supernode Là node tương tự server, có khả chuyển tiếp thông tin kết nối tới nhiều node khác hệ thống 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ạng sử 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 Q 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ụm phâ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 Q 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 backup phâ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 Q trình node rời mạng 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ân cụm tĩnh phân cụm động 46 Biểu đồ 4-2 So tỷ lệ file ban đầu thành công phân cụm tĩnh phân cụm động thay đổi thời gian sống node .47 Biểu đồ 4-3 So sánh chi phí trì mảnh phân cụm tĩnh phân cụ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ân cụm tĩnh phân cụm động 45 MỞ ĐẦU Trong năm gần đây, mạng ngang ngàng phát triển nhanh chóng, nhiều ứng dụng sử dụng mạng ngang hàng để hỗ trợ chia sẻ file, video, tin nhắn nhanh Bittorrent, eDonkey, Fshare tool, Megadownloader Các ứng dụng sử dụng phương pháp phân mảnh để chia sẻ file, máy mạng liên kết với để lấy mảnh từ nhiều nguồn khác để có đầy đủ mảnh lắp ghép thành file Phương pháp vừa giảm tải cho máy, vừa lấy thơng tin nhanh dễ dàng hơn, tận dụng băng thông không cần sử dụng server trung tâm với cấu hình cao bị nghẽn cổ chai số lượng truy cập vào hệ thống lớn Trong thời kỳ đầu phát triển mạng ngang hàng, việc tìm kiếm, chia sẻ thơng tin thơng qua hình thức sử dụng chế broadcast, chế phát tràn thông báo tới máy mạng, gây tốn tài nguyên hiệu tìm kiếm thấp khơng đảm bảo việc qt thơng tin cho tồn hệ thống Mạng ngang hàng có cấu trúc hình thành sau khắc phục nhược điểm chế broadcast, thông qua việc sử dụng bảng băm phân tán DHT (Distributed Hash Table), điển Chord, CAN[12], Kademlia, Tapestry, Kelips Theo phương pháp này, không gian ID tổ chức dạng vòng, liệu mạng quản lý dạng (key, value), node liên kết biết đến thông qua bảng định tuyến Với cấu trúc này, máy tính cần tìm liệu, cần áp dụng giao thức chung để xác định nút mạng chịu trách nhiệm cho liệu sau liên lạc trực tiếp đến nút mạng để lấy kết Mặc dù mạng ngang hàng có cấu trúc cho thấy ưu điểm vượt trội thông qua việc sử dụng bảng băm DHT bảng định tuyến để tìm kiếm chia sẻ thơng tin, q trình hoạt động mạng nhiều vấn đề chưa giải Trong đó, có vấn đề đảm bảo việc phục hồi liệu mạng node mạng thường xuyên gia nhập rời khỏi mạng khả cân tải node chưa cao Luận văn “Giải pháp backup liệu, sử dụng chế phân cụm động mạng ngang hàng có cấu trúc” đề xuất phương pháp cải tiến việc backup liệu, theo chế phân cụm động nhằm khắc phục vấn đề nêu Về bố cục, nội dung luận văn bao gồm chương: Chương 1: Tổng quan kiến trúc hệ thống mạng ngang hàng: Chương giới thiệu kiến trúc mạng ngang hàng kiến trúc tập trung, kiến trúc phân tán kiến trúc hỗn hợp, kiến trúc có đặc điểm riêng sâu vào mô tả số hệ thống áp dụng với kiến trúc Chương 2: Các phương pháp backup liệu mạng ngang hàng có cấu trúc: Mơ tả chế backup mạng ngang hàng có cấu trúc, dựa giao thức Chord So sánh hai phương pháp backup successor list (phương pháp backup Chord nguyên thủy) phân cụm tĩnh Chương 3: Phương pháp phân cụm động chế backup: Đưa nguyên tắc phương pháp chung việc tách cụm động, nêu phương pháp phân mảnh liệu trường hợp xử lý việc backup liệu Chương 4: Đánh giá hiệu phương pháp tách nhập cụm theo chế phân cụm động: Mơ tả hoạt động chương trình mơ phỏng, so sánh tiêu chí phân cụm tĩnh phân cụm động Kết luận hướng phát triển: Tóm tắt, đề xuất hướng phát triển Hình 3-11 Mơ tả cách quản lý key file mảnh Hình 3-11 ví dụ mơ tả node với ID 200 quản ký key file 1, file phân làm mảnh Trong đó, node có ID =152 chứa mảnh 1, có thơng tin liên kết với node có ID = 200 Node có ID = 157 chứa mảnh file một, có thơng tin liên kết với node có ID = 200 Như node vừa quản lý key file, vừa lưu mảnh file khác có liên kết node quản lý key file node lưu trữ mảnh file 3.4 Backup node rời mạng 3.4.1 Backup mảnh liệu nằm cụm Khi node rời khỏi mạng Chord, thực bước sau: Thơng báo cho successor node tình trạng rời mạng Successor node thông báo cho node đầu cụm thông tin ID node rời mạng Định kỳ, node đầu cụm tập hợp danh sách node rời mạng thông báo cho node hệ thống node cụm rời mạng Hình 3-12 Quá trình node rời mạng cập nhật thơng tin 38 Mỗi node nhận thông tin danh sách node rời mạng cụm, thực kiểm tra key file mà quản lý để kiểm tra lại mảnh liệu mà key quản lý Trường hợp key file kiểm tra thấy số lượng mảnh lại nhỏ giá trị ngưỡng mảnh (k mảnh) phục hồi lại file, node chịu trách nhiệm quản lý key thực backup lại mảnh Trường hợp key file kiểm tra thấy tổng số mảnh cịn lại khơng có khả phục hồi lại file gốc, node chịu trách nhiệm quản lý key tìm lại node chứa file gốc để backup lại mảnh Nếu node chứa file gốc bị bị rời mạng khơng backup mảnh, đồng thời thơng báo node lưu trữ mảnh xóa mảnh hệ thống Việc khôi phục mảnh liệu theo chế sau: Đối với file đưa vào mặc định chia làm n mảnh, hệ thống k mảnh (k k Đúng Sai Tồn node nguồn chứa file gốc Yêu cấu node nguồn tạo mảnh có Kết thúc Không Yêu cầu node tạo mảnh Lưu trữ mảnh tạo vào node cụm Hình 3-13 Lưu đồ kiểm tra backup mảnh bị 3.4.2 Backup mảnh liệu nằm ngồi cụm Do q trình tách cụm nhiều lần, mảnh liệu nằm nhiều cụm xa Do cần có chế backup lại mảnh nhằm trì 39 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ụm có 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 40 CHƯƠNG 4: ĐÁNH GIÁ HIỆU QUẢ PHƯƠNG PHÁP TÁCH NHẬP CỤM SỬ DỤNG CƠ CHẾ PHÂN CỤM ĐỘNG 4.1 Chương trình mơ Chương trình mơ phân cụ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 41 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 cịn 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ân cụ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) 42 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ạng backup 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 cịn 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áp phâ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 cịn lại Nếu số mảnh