Công nghệ lướI dữ liệu hỗ trợ chia sẻ dữ liệu trực tuyến Công nghệ lướI dữ liệu hỗ trợ chia sẻ dữ liệu trực tuyến Công nghệ lướI dữ liệu hỗ trợ chia sẻ dữ liệu trực tuyến Công nghệ lướI dữ liệu hỗ trợ chia sẻ dữ liệu trực tuyến Công nghệ lướI dữ liệu hỗ trợ chia sẻ dữ liệu trực tuyến
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - BÙI HẢI PHONG CÔNG NGHỆ LƯỚI DỮ LIỆU HỖ TRỢ CHIA SẺ DỮ LIỆU TRỰC TUYẾN Chuyên ngành : CÔNG NGHỆ THÔNG TIN LUẬN VĂN THẠC SĨ KỸ THUẬT CÔNG NGHỆ THÔNG TIN NGƯỜI HƯỚNG DẪN KHOA HỌC TS PHẠM ĐĂNG HẢI Hà Nội, tháng năm 2012 MỤC LỤC MỤC LỤC LỜI CAM ĐOAN LỜI CẢM ƠN CHÚ GIẢI CÁC THUẬT NGỮ SỬ DỤNG TRONG LUẬN VĂN DANH MỤC BẢNG DANH MỤC CÁC HÌNH VẼ Chương TỔNG QUAN 11 1.1 Bài toán chia sẻ liệu 11 1.2 Hướng giải toán 14 1.3 Nhiệm vụ đề tài 16 1.4 Nội dung luận văn 16 Chương CƠ SỞ LÝ THUYẾT CỦA LUẬN VĂN 17 2.1 Tổng quan lưới liệu (Data Grid) 17 2.1.1 Các khái niệm 17 2.1.2 Phân loại lưới liệu 19 2.1.3 Đặc điểm lưới liệu 22 2.1.4 Các thành phần công nghệ lưới liệu áp dụng vào toán 29 2.2 Công nghệ J2EE 35 2.3 Phần mềm mã nguồn mở J-FTP 38 Chương 3: XÂY DỰNG TẦNG LƯỚI DỮ LIỆU 40 3.1 Mơ hình lưới liệu hệ thống 40 3.2 Các chức triển khai lưới liệu 41 3.2.1 Chức quản lý Proxy 41 3.2.2 Module điều khiển truyền tệp 42 3.2.3 Dịch vụ định vị RLS 46 Chương XÂY DỰNG TẦNG ỨNG DỤNG 49 4.1 Chức Upload tệp 49 4.1.1 Cơ chế Upload tệp hệ thống 49 4.1.2 Kỹ thuật truyền tệp sử dụng giao thức FTP 51 4.1.3 Kỹ thuật Upload tệp sử dụng giao thức HTTP 52 4.2 Chức Download tệp 54 4.2.1 Cơ chế Download tệp hệ thống 54 4.2.2 Kỹ thuật Download tệp sử dụng giao thức HTTP 55 4.3 Chức an toàn, bảo mật Web Server 56 4.3.1 Giới thiệu sách bảo mật cho Web Server 56 4.3.2 Cài đặt chức bảo mật với Web Server Tomcat 57 4.4 Chia sẻ liệu cho người dùng 62 4.4.1 Chia sẻ tệp thông qua gửi thư điện tử (e-mail) 63 4.4.2 Chia sẻ tệp thông qua mạng xã hội (social network) 63 4.5 Chức đồng hóa liệu 69 4.5.1 Mơ hình chức đồng liệu 69 4.5.2 Xây dựng tiện ích đồng hóa liệu 71 Chương KẾT QUẢ VÀ HƯỚNG PHÁT TRIỂN 75 5.1 Kết đạt 75 5.2 Hướng phát triển 84 TÀI LIỆU THAM KHẢO 85 LỜI CAM ĐOAN Tôi – Bùi Hải Phong – xin cam đoan • Luận văn tốt nghiệp Thạc sĩ Kỹ thuật cơng trình nghiên cứu thân hướng dẫn TS Phạm Đăng Hải • Các kết Luận văn tốt nghiệp trung thực, khơng phải chép tồn văn cơng trình khác Hà Nội, ngày 16 tháng năm 2012 Bùi Hải Phong LỜI CẢM ƠN Tôi xin gửi lời cảm ơn tới TS Phạm Đăng Hải mơn Khoa học Máy tính Viện Công nghệ Thông tin Truyền thông Đại học Bách Khoa Hà Nội Thày tận tình hướng dẫn, giúp đỡ tơi hồn thành luận văn Tơi xin gửi lời cảm ơn tới GS TS Nguyễn Thanh Thuỷ Thày đóng góp nhiều ý kiến quý báu cho luận văn Tôi xin gửi lời cảm ơn tới TS Nguyễn Hữu Đức Thày tạo điều kiện, môi trường làm việc cho thực luận văn Tôi xin gửi lời cảm ơn tới cán Trung Tâm Tính Tốn Hiệu Năng Cao – Đại học Bách Khoa Hà Nội Các anh giúp đỡ nhiều để tơi hồn thành luận văn CHÚ GIẢI CÁC THUẬT NGỮ SỬ DỤNG TRONG LUẬN VĂN Thuật ngữ tiếng anh Nghĩa tiếng Việt Chú giải Quá trình truyền chương trình hay liệu tệp thơng qua giao thức truyền Upload Tải tệp lên liệu từ hệ thống máy khách (nhỏ hơn) tới hệ thống máy phục vụ (lớn hơn) Quá trình truyền liệu từ máy tính Download tới máy tính khác, thường từ Tải tệp xuống hệ thống máy chủ lưu trữ (lớn hơn) tới hệ thống máy khách (nhỏ hơn) Một kiểu đặc biệt tệp hệ điều SymLink (Symbolic Link) hành UNIX Nó trỏ tới tệp khác tồn Liên kết “mềm” thực đóng vai trị tương tự tệp thực thao tác với liên kết “mềm” Trong hệ thống, tầng giao tiếp đóng vai Front End Tier Tầng giao tiếp trò cầu nối người dùng tầng lưới liệu Trong hệ thống, tầng lưới liệu tầng Data Grid Tier Tầng lưới liệu đảm trách vai trò lưu trữ liệu tệp quản lý máy chủ lưu trữ phân tán IP chữ viết tắt Internet Protocol IP (Internet Protocol) (giao thức Internet) Mỗi gói tin IP bao gồm địa IP nguồn địa IP đích Trong hệ thống, liên kết tạo tệp tải lên máy chủ lưu trữ Liên kết tồn với tệp Logic Link Liên kết logic để tệp người dùng cần tải tệp Tuy nhiên liên kết khơng xác tệp nằm đâu hệ thống lưu trữ Trong hệ thống , liên kết đường dẫn trực tiếp tới nơi tệp lưu Physical Link trữ Do liên kết phải Liên kết vật lý che người sử dụng Chỉ hệ thống có liên kết đề tạo liên kết “mềm” để người dùng tải tệp GridFTP mở rộng giao thức FTP, GridFTP (Grid File tích hợp khả bảo mật lưới, truyền Transfer Protocol) liệu tốt so với FTP Dịch vụ định vị kiến trúc RLS (Replica Dịch vụ Định vị lưới liệu Globus, cho phép xác định vị Location Service) trí thực thể liệu lưới Dịch vụ siêu liệu kiến trúc lưới MCS (Metadata Dịch vụ siêu Catalog Service) liệu liệu Globus, cho phép gắn đối tượng liệu với số thuộc tính mơ tả, hỗ trợ người sử dụng việc truy vấn đối tượng liệu theo thuộc tính CA chế chứng thực người dùng CA (Certificate Cơ Authentication) chế chứng thực tài nguyên sử dụng môi trường lưới Nó dựa tảng khóa cơng khai để chứng thực đối tượng liên quan JDBC (Java Database JDBC API chuẩn cho phép ứng Connectivity) dụng viết Java kết nối với nhiều sở liệu khác API (Application Giao Programming diện lập Thường tập hàm giúp lập trình trình ứng dụng viên dễ dàng tương tác với dịch vụ Interface) hệ thống AJAX JavaScript Là nhóm cơng nghệ phát triển (Asynchronous XML không đồng web sử dụng để tạo ứng dụng JavaScript and XML) web động hay ứng dụng giàu tính Internet DANH MỤC BẢNG Bảng 4.1 Các phiên server Tomcat 57 Bảng 5.1 Các máy tham gia hệ thống 76 DANH MỤC CÁC HÌNH VẼ Hình 1.1 Logo Dropbox 11 Hình 1.2 Trang chủ MediaFire 12 Hình 1.3 Logo 4Share 13 Hình 1.4 Mơ hình phân tầng hệ thống 15 Hình 2.1 Hai thành phần lưới 18 Hình 2.2 Tiến trình phân tán sử dung space để phối hơp hoạt động 21 Hình 2.3 Hệ quản trị liệu mơ tơ liệu 23 Hình 2.4 Kiến trúc phân tầng lưới liệu 27 Hình 2.5 Các thành phần Globus Toolkit 28 Hình 2.6 Mối quan hệ RLI LRC quan điểm người dùng toàn cục người dùng địa phương 34 Hình 2.7 Các thành phần cài đặt RLS 35 Hình 2.8 Các thành phần công nghệ J2EE 36 Hình 2.9 Sơ đồ package phần mềm mã nguồn mở J-FTP 38 Hình 3.1 Mơ hình lưới liệu 41 Hình 3.2 Sơ đồ Package module quản lý Proxy 42 Hình 3.3 Mơ hình truyền tệp 44 Hình 3.4 Sơ đồ Package GridFTP 45 Hình 3.5 Các lớp GridFTP 46 Hình 3.6 Sơ đồ trình tạo lập 47 Hình 3.7 Sơ đồ Package RLS 47 Hình 3.8 Sơ đồ lớp RLSConnection 48 Hình 3.9 Sơ đồ lớp RLS 48 Hình 4.1 Sơ đồ Upload tệp 50 Hình 4.2 Sơ đồ Download tệp 54 Hình 4.3 Chức cấp Certificate trang web http://oak.cs.ucla.edu 61 Hình 4.4 Certificate tổ chức oak.cs.ucla.edu 61 Hình 4.5 Server Tomcat cấu hình sử dụng HTTPS 62 Hình 4.6 Giao diện chia sẻ đường dẫn Download tệp qua e-mail 63 Hình 4.7 Chia sẻ qua FaceBook 68 Hình 4.8 Twitter share button 69 Hình 4.9 Mơ hình chức đồng hóa liệu 70 Hình 4.11 Cấu trúc thư mục 72 Hình 4.12 Sơ đồ duyệt thư mục 73 Hình 4.13 Chức đồng hóa liệu 74 Hình 5.1 Trang chủ LindaX 79 Hình 5.2 Giao diện upload tệp 79 Chương trình đồng ln lắng nghe thay đổi thư mục đồng Khi thay đổi thư mục, tiến hành gọi dịch vụ phía application server để cập nhật thay đổi sở liệu logic tầng ứng dụng Khi thay đổi tệp tin như: thêm mới, sửa, xóa tệp, chương trình tiến hành gọi dịch vụ nhận địa máy chủ lưu trữ để phục vụ trình upload, sau chương trình gọi dịch vụ upload máy chủ lưu trữ Khi có thay đổi ứng dụng web, chương trình đồng tự động thực lại bước để cập nhật thay đổi tương ứng 4.5.2 Xây dựng tiện ích đồng hóa liệu Q trình xây dựng chức đồng liệu bao gồm hai bước Giai đoạn 1: đồng liệu từ phía server client Giai đoạn 2: đồng liệu từ phía client lên server Trong giai đoạn 1, trước tiên phía web application cài đặt dịch vụ getFileSchema để trả cấu trúc thư mục tương ứng với người dùng.Dịch vụ thực việc gọi đến lớp phân tích liệu phía Lớp tương tác với sở liệu logic để nhận thông tin tệp tin thư mục người dùng Tái tạo lại thư mục sau: 71 Hình 4.11 Cấu trúc thư mục Trên hình vẽ, thư mục với đặc điểm: nút thư mục có màu xanh, cịn nút tệp tin có màu xám Sau lớp tạo file mơ tả mô tả lại cấu trúc thư mục định dạng xml Chương trình đồng chạy phía client triệu gọi dịch vụ getFileSchema để nhận tệp tin mô tả Tệp xml mô tả tương ứng với thư mục : 72 Sau đó, chương trình tiến hành duyệt file xml, lưu đồ thực q trình duyệt file mơ tả hình vẽ: Hình 4.12 Sơ đồ duyệt thư mục Trong giai đoạn 2, phía client cài đặt lắng nghe liên tục hành động thực thư mục đồng hóa Sơ đồ thực minh họa hình vẽ đây: 73 Hình 4.13 Chức đồng hóa liệu Khi thay đổi xảy thư mục như: tạo thư mục, đổi tên thư mục hay xóa thư mục, chương trình gọi dịch vụ cập nhật sở liệu tầng ứng dụng thư mục Khi thay đổi xảy tệp tin như: tạo tệp, đổi tên tệp, thay đổi nội dung tệp, ngồi việc cập nhật lại liệu sở liệu tầng ứng dụng, chương trình phải gọi dịch vụ để tải tệp tin lên lưới liệu Như với thay đổi xảy thư mục đồng bộ, thay đổi cập nhật liên tục lên tầng ứng dụng tầng lưu trữ 74 Chương KẾT QUẢ VÀ HƯỚNG PHÁT TRIỂN 5.1 Kết đạt Luận văn đạt mục tiêu đề ra: • Nghiên cứu áp dụng công nghệ lưới liệu để giải toán lưu trữ chia sẻ liệu Các kết lý thuyết thực tiễn tiến hành thử nghiệm hạ tầng lưới liệu Trung tâm tính tốn Hiệu cao, đại học Bách Khoa Hà Nội Trong có số máy tham gia lưới tính tốn Việt Nam VNGrid • Xây dựng chức năng, sách cần thiết hệ thống lưu trữ chia sẻ tệp: chức upload/download tệp dựa hai giao thức FTP HTTP; chức chia sẻ tệp thông qua việc gửi e-mail chia sẻ mạng xã hội; chức đồng hóa liệu client-server; tiện ích phục vụ người dùng khác Hệ thống hỗ trợ người dùng làm việc dựa giao diện Desktop giao diện Web • Kết hợp biện pháp an toàn, bảo mật cho Web Server bảo mật cho hạ tầng lưới liệu đảm bảo việc lưu trữ tệp người dùng Hệ thống triển khai lưới liệu gồm nodes : có địa IP 202.192.56.48, 202.191.56.61, 202.291.56.62 Web Server triển khai máy chủ có địa 201.191.56.49 Chi tiết kết triển khai mô tả thơng qua hình ảnh hệ thống 75 Tên máy Chức Thành phần triển khai Giao diện giao tiếp người WebServer Trung gian người dùng dùng hpcc.hut.edu.vn tầng lưu trữ lưới 202.191.56.49 Quản lý giao diện người dùng Cơ sở liệu tệp logic Cơ sở liệu người dùng Server Tomcat (cài đặt SSL) Dịch vụ định vị HeadNode (RLS) bkluster.hut.edu Máy chủ quản lý tầng lưu trữ Dịch vụ quản lý Proxy lưới Dịch vụ quản lý DataNode Dịch vụ GridFTP 202.191.56.48 Chứng thực CA Module upload/download DataNode 202.191.56.61 Node lưu trữ liệu Chứng thực CA Dịch vụ GridFTP FTP server Module upload/download DataNode 202.191.56.62 Node lưu trữ liệu Chứng thực CA Dịch vụ GridFTP FTP server Bảng 5.1 Các máy tham gia hệ thống 76 Các thành phần cài đặt máy chủ WebServer (202.191.56.49) • Web Server Tomcat cấu hình HTTPS • Giao diện làm việc hệ thống • Cơ sở liệu lưu thông tin người dùng, sử dụng MySQL server Các thành phần cài đặt máy chủ HeadNode (202.191.56.48) Như trình bày trên, máy HeadNode đóng vai trị điều khiển máy lưu trữ tầng lưới Máy HeadNode triển khai thành phần sau: • Web server Tomcat: Tomcat dùng để triển khai số ứng dụng thiết kế cho dịch vụ LindaX, bao gồm thao tác có nhiệm vụ liên kết tầng ứng dụng web tầng lưu trữ lưới • Chứng thực tài nguyên: Để máy HeadNode sử dụng dịch vụ lưới, ta cần có chứng thực tài nguyên cho máy Chứng thực cho máy cài đặt theo chuẩn Globus • Chứng thực người dùng: Người dùng “Lindax” tạo máy HeadNode để chạy tác vụ lưới Đây chứng thực người dùng cho toàn hệ thống • Quản lý Proxy cho người dùng lưới • Dịch vụ GridFTP: dịch vụ cài HeadNode có nhiệm vụ điều khiển trình truyền tệp server lưu trữ • Dịch vụ RLS: dịch vụ định vị Dịch vụ lưới liệu hỗ trợ tạo quản lý nhân lưới • Cơ sở liệu cho dịch vụ RLS: sở liệu xây dựng sẵn Globus Toolkit 4.0.2 Hệ quản trị sở liệu sử dụng MySql 77 • Cơ sở liệu quản lý server lưu trữ: Quản lý thông tin tài nguyên cung cấp máy lưu trữ tệp Hệ quản trị sở liệu sử dụng MySql Cài đặt máy lưu trữ (202.191.56.61 202.192.56.62) Như trình bày trên, DataNode máy chủ lưu trữ liệu thực hệ thống Tại DataNode triển khai thành phần sau: • Web server Apache: Sử dụng với mục đích cơng khai đường dẫn vật lý tới người dùng qua giao diện web xử lý số sách download • Web server Tomcat: Triển khai module upload download module có nhiệm vụ nhận, xử lý trả thơng tin cho người dùng trình upload, download Tomcat phải khởi động quyền người dùng lindax • Quản lý tài nguyên DataNodes • Chứng thực tài nguyên: Để sử dụng dịch vụ lưới bảo mật tổ chức tham gia vào hệ thống lưu trữ • Ánh xạ người dùng: Ánh xạ quyền người dùng lưới máy lưu trữ đến người dùng linda Khi đó, máy HeadNode điều khiển máy StorageNode quyền người dùng Lindax • Các thư mục file cấu hình hệ thống: Đây thư mục file cấu hình hệ thống LindaX, tạo sẵn hệ thống máy lưu trữ để xác định thông tin q trình vận hành • FTP server Một số kết đạt thể qua giao diện hệ thống 78 Hình 5.1 Trang chủ LindaX Hình 5.2 Giao diện upload tệp 79 Hình 5.3 Giao diện tiến trình upload Hình 5.4 Upload tệp thành cơng 80 Hình 5.5 Upload tệp bị lỗi Hình 5.6 Giao diện download Hình 5.7 Giao diện Desktop 81 Hình 5.8 Lựa chọn máy chủ lưu trữ Hình 5.9 Kết nối tới máy chủ FTP 82 Hình 5.10 Giao diện Desktop Upload tệp Hình 5.11 Giao diện quản lý thư mục người dùng 83 5.2 Hướng phát triển Trong thời gian tới, hệ thống cần hoàn thiện mở rộng thêm để đáp ứng nhu cầu phục vụ cho số lượng người dùng lớn • Phát triển ứng dụng thiết bị di động để đảm bảo tính tiện dụng cho người dùng • Với việc mở rộng số lượng người dùng việc hỗ trợ nhiều môi trường làm việc không đồng nhất, chức đồng liệu cần sâu phát triển • Hệ thống thử nghiệm giao thức truyền thông HTTPS với chứng số SSL chứng thực CA “oak.cs.ucla.edu” Để đem lại tin tưởng từ phía người dùng, chứng số cần chứng thực CA phổ biến VeriSign , Thawte • Đưa hệ thống vào triển khai rộng rãi với tham gia nhiều tổ chức 84 TÀI LIỆU THAM KHẢO Addison Wesley, A Brief Guide to the Standard Object Modeling Language, Third Edition Michael Di Stefano, “Distributed Data Management for Grid Computing,” page 4, chapter 1, John Wiley & Sons, Inc 2005 Ian Foster, Carl Kesselman, and Steven Tuecke, “The Autonomy of the Grid, Enabling Scalable Virtual Organizations,” Int J Supercomput Appl 2002 Ian Foster, Adriana Iamnitchi, “On Death, Taxes, and Convergence of Peer-toPeer and Grid Computing” In 2nd International Workshop on Peer-to-Peer Systems (IPTPS'03), Berkeley, CA, Feb 2003 Ian Foster, Carl Kesselman, “A data grid reference architecture”, 2001 Enabling Applications for Grid Computing with Globus , IBM Redbooks, 6/2003 Joshua Bloch, How to design a good API and why it matters-PDF Phân tích thiết kế hệ thống thông tin, Nguyễn Văn Ba Phát triển Web Service với net beans: http://netbeans.org/kb/docs/websvc/introws.html 10 Phát triển Web: HTML, JavaScript, Ajax, trang Web: http://www.w3schools.com/ 11 Tài liệu kỹ thuật trung tâm tính tốn hiệu cao - Đại học Bách Khoa Hà Nội 12 Trang Web tổ chức lưới Châu Á Thái Bình Dương Pragma: http://www.pragma-grid.net/ 13 Trang web https://www.dropbox.com 14 Trang web http://j-ftp.sourceforge.net/ 15 Trang web http://www.uml.org 85 ... mức – quản lý liệu tĩnh, Lưới liệu mức – quản lý liệu động 2.1.2.1 Lưới liệu mức Lưới liệu mức cung cấp khả quản lý liệu tĩnh, có dung lượng lớn nằm phân tán nút lưới Đây loại lưới liệu nghiên... trữ chia sẻ tệp phổ biến trình bày chương 1, thấy rằng, hệ thống lưu trữ chia sẻ liệu cần đáp ứng chức upload/download liệu chia sẻ liệu người dùng Hệ thống hỗ trợ người dùng upload/download liệu. .. vai trị lưu trữ liệu (chủ yếu tệp người dùng), xây dựng dựa tảng lưới liệu 15 Luận văn áp dụng công nghệ lưới liệu cơng nghệ lập trình Web Java, xây dựng hệ thống lưu trữ chia sẻ liệu với tên gọi