1. Trang chủ
  2. » Công Nghệ Thông Tin

Ứng dụng kiến trúc hướng dịch vụ trong điện toán đám mây để xây dựng dịch vụ quản lý tệp phân tán DFM

104 353 1

Đ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

Thông tin cơ bản

Định dạng
Số trang 104
Dung lượng 2,44 MB

Nội dung

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - TÔ ĐÌNH HIẾU “Ứng dụng kiến trúc hướng dịch vụ tính toán đám mây để xây dựng dịch vụ Quản Tệp Phân tán DFM” Chuyên ngành: công nghệ thông tin NGƯỜI HƯỚNG DẪN KHOA HỌC : TS Thị Hương Giang Hà Nội - 2010 LỜI CAM ĐOAN Tôi – Tô Đình Hiếu, học viên lớp Cao học Xử Thông tin Truyền thông Khóa 2008 Trường Đại học Bách Khoa Hà Nội – cam kết Luận văn tốt nghiệp công trình nghiên cứu thân hướng dẫn TS Thị Hương Giang, Viện CNTT-TT, Trường Đại học Bách Khoa Hà Nội Các kết nêu Luận văn tốt nghiệp trung thực, không chép toàn văn công trình khác Hà Nội, ngày 28 tháng 03 năm 2011 Học viên: Tô Đình Hiếu Lớp: Cao Học XLTT-TT 2008 LỜI CẢM ƠN Tôi xin bày tỏ lòng biết ơn sâu sắc tới giảng viên, TS Thị Hương Giang, Viện Công Nghệ Thông Tin Truyền Thông, trường Đại học Bách Khoa Hà Nội, hướng dẫn tận tình cho suốt trình thực luận văn Nhờ quan tâm bảo ý kiến đóng góp quý báu cô, hoàn thành luận văn Tôi xin chân thành cảm ơn tập thể thầy, cô giáo trường Đại học Bách Khoa Hà Nội nói chung Viện Công Nghệ Thông Tin Truyền Thông nói riêng tận tình giảng dạy truyền đạt cho kiến thức, kinh nghiệm quý báu suốt năm học vừa qua Cuối cùng, xin chân thành cảm ơn gia đình, người thân hết lòng giúp đỡ hỗ trợ vật chất lẫn tinh thần giúp yên tâm học tập nghiên cứu suốt trình học tập thực luận văn Mục lục LỜI CAM ĐOAN LỜI CẢM ƠN DANH MỤC NHỮNG TỪ VIẾT TẮT DANH MỤC BẢNG DANH MỤC HÌNH MỞ ĐẦU 10 CHƯƠNG TỔNG QUAN VỀ KIẾN TRÚC HƯỚNG DỊCH VỤĐIỆN TOÁN ĐÁM MÂY 13 1.1 Kiến trúc hướng dịch vụ (SOA) 13 1.1.1 Dịch vụ 13 1.1.1.1 Định nghĩa 13 1.1.1.2 Các đặc điểm dịch vụ 15 1.1.2 Các thành phần tham gia kiến trúc hướng dịch vụ 15 1.2 Điện toán đám mây (Cloud Computing) 17 1.2.1 Định nghĩa 18 1.2.2 Mô hình tổng quan 19 1.2.3 Các tính Điện toán Đám mây 21 1.2.4 Các thành phần hợp thành đám mây 23 1.2.5 Các nhóm dịch vụ điện toán đám mây 25 1.2.5.1 Dịch vụ hạ tầng (Infrastructure-as-a-Service -IaaS) 25 1.2.5.2 Dịch vụ tảng (Platform-as-a-Service - PaaS) 26 1.2.5.3 Dịch vụ phần mềm (Software-as-a-Service - SaaS) 28 1.2.6 Các kiểu triển khai đám mây 30 1.2.6.1 Đám mây công cộng (Public cloud) 33 1.2.6.2 Đám mây cộng đồng (Community cloud) 33 1.2.6.3 Đám mây lai (Hybrid cloud) 34 1.2.6.4 Đám mây riêng (Private cloud) 35 1.3 Khả ứng dụng Kiến trúc Hướng Dịch vụ Điện toán Đám mây 36 1.3.1 Lợi ích sử dụng kiến trúc hướng dịch vụ 37 1.3.2 Những đặc điểm đám mâykiến trúc hướng dịch vụ chưa có 38 1.3.3 Những đặc điểm kiến trúc hướng dịch vụ nên phát triển điện toán đám mây 38 1.3.4 Những giá trị mà điện toán đám mây đem lại 40 1.3.5 Nhận dạng ứng dụng phát triển thành ứng dụng đám mây 41 1.3.6 Nhận dạng ứng dụng không thích hợp phát triển đám mây 42 1.4 Tính khả thi việc phát triển dịch vụ Quản Tệp Phân tán DFM 43 1.5 Kết luận 44 CHƯƠNG PHÁC THẢO QUY TRÌNH XÂY DỰNG ỨNG DỤNG ĐIỆN TOÁN ĐÁM MÂY 45 2.1 Phân tích yêu cầu cụ thể 45 2.1.1 Bài toán 45 2.1.2 Yêu cầu 45 2.2 Hướng tiếp cận 47 2.3 Quy trình xây dựng phần mềm DFM 48 2.3.1 Lựa chọn dịch vụ 49 2.3.2 Biểu đồ phân cấp 50 2.3.3 Giao diện 51 2.3.4 Cơ sở liệu quản trị 53 2.3.5 Các chức xây dựng sở chức có sẵn DFS 53 2.3.5.1 Add Root 53 2.3.5.2 Remove Root 56 2.3.5.3 Add Link 57 2.3.5.4 Remove Link Target 57 2.3.5.5 Delete Link 58 2.3.5.6 Enable Link target 59 2.3.5.7 Disable Link target 60 2.3.6 Các chức nâng cao DFM 60 2.3.6.1 Shutdown Server 60 2.3.6.2 Start DFS 61 2.3.6.3 Stop DFS 61 2.3.6.4 Server Session 62 2.3.6.5 View Root 63 2.3.6.6 View Link 65 2.3.6.7 View Link Target 66 2.3.6.8 Giải thuật điều khiển thông minh 68 2.4 Kết luận 72 CHƯƠNG TRIỂN KHAI THỰC TẾ DỊCH VỤ DFM TRONG MẠNG NỘI BỘ ĐÀI PT-TH HÀ NỘI 73 3.1 Hiện trạng hệ thống mạng HANOITV 73 3.1.1 Cơ sở hạ tầng 73 3.1.2 Cấu trúc DFS 74 3.2 Triển khai dịch vụ DFM mạng nội HANOITV 75 3.2.1 Cài đặt 75 3.2.2 Địa truy cập 76 3.2.3 Giao diện 77 3.2.4 Thử nghiệm 78 3.2.4.1 Bài toán thử nghiệm 78 3.2.4.2 Thực 78 3.2.5 Nhận xét 80 3.2.5.1 Nhược điểm tồn 80 3.2.5.2 Phương án giải 80 3.2.6 Kết luận 81 KẾT LUẬN VÀ KIẾN NGHỊ 82 TÀI LIỆU THAM KHẢO 84 PHỤ LỤC HỆ THỐNG TỆP PHÂN TÁN (DFS) 85 DFS root 85 DFS link 86 PHỤ LỤC MÃ NGUỒN CHƯƠNG TRÌNH 88 Mã nguồn cmd.php 88 Mã nguồn executer.php 92 Mã nguồn index.php 97 Mã nguồn file modlink.exe 100 DANH MỤC NHỮNG TỪ VIẾT TẮT CNTT Công nghệ thông tin SOA Kiến trúc hướng dịch vụ Cloud Computing Điện toán đám mây DFS Distributed File System DFM Distributed File Management DANH MỤC BẢNG Bảng 2-1 Bảng Users chứa tài khoản quản trị DFM 53 Bảng 3-1 Tổng số máy chủ cần dùng mạng HANOITV 76 DANH MỤC HÌNH Hình 1-1 Mô hình chi tiết Kiến trúc hướng Dịch vụ .14 Hình 1-2 Các thành phần tham gia Kiến trúc hướng Dịch vụ 16 Hình 1-3 Mọi thứ tập trung vào đám mây .19 Hình 1-4 Mô hình tổng quan điện toán đám mây 20 Hình 1-5 Minh họa tầng đám mây 23 Hình 1-6 Giải phẫu đám mây 25 Hình 1-7 Một số nhà cung cấp dịch vụ điện toán đám mây 31 Hình 1-8 Xu hướng phát triển điện toán .32 Hình 1-9 Các kiểu đám mây 32 Hình 1-10 Kiến trúc hướng Dịch vụ Điện toán đám mây tạo giá trị lớn chúng làm việc 37 Hình 2-1 Các thành phần DFM 48 Hình 2-2 Quy trình phát triển dịch vụ đám mây 49 Hình 2-3 Biểu đồ phân cấp DFM 51 Hình 2-4 Giao diện đăng nhập DFM .51 Hình 2-5 Giao diện quản trị DFM 52 Hình 3-1 Cấu trúc DFS mạng HANOITV 74 Hình 3-2 Giao diện đăng nhập DFM .77 Hình 3-3 Giao diện quản trị DFM 77 Hình 3-4 Giao diện DFM tạo root 79 Hình 3-5 Giao diện DFM tạo Link 79 Hình PL1-1 Mô tả cấu trúc DFS 85 89 $out = cmd($server_exec, $cmd); return $out; } //xoa mot root function removeRoot($server_exec, $domainname, $rootname, $server) { $cmd = "DFSUTIL /RemFtRoot /server:".$server." /share:".$rootname; $out = cmd($server_exec, $cmd); return $out; } //tao link link target function addLink($server_exec, $domainname, $rootname, $linkname, $server, $sharename) { $cmd = "DFScmd /add \\\\".$domainname."\\".$rootname."\\".$linkname." \\\\".$server."\\".$sharename; $out = cmd($server_exec, $cmd); return $out; } //xoa link xoa tat ca link target function deleteLink($server_exec, $domainname, $rootname, $linkname) { $cmd = " DFScmd /unmap \\\\".$domainname."\\".$rootname."\\".$linkname; $out = cmd($server_exec, $cmd); return $out; } //remove one link target function removeLinktarget($server_exec, $domainname, $rootname, $linkname, $server, $sharename) { $cmd = "DFScmd /remove \\\\".$domainname."\\".$rootname."\\".$linkname." \\\\".$server."\\".$sharename; $out = cmd($server_exec, $cmd); return $out; } // enable Link target function enableLinktarget($server_exec, $domainname, $rootname, $linkname, $server, $sharename ) { //$targetpath="\\server1\link"; //$arrTargetpath = split("\\\\",$targetpath); //print_r($arrTargetpath); //$server_target=$arrTargetpath[1]; //$share_target=$arrTargetpath[2]; $cmd = "modlink \\\\".$domainname."\\".$rootname."\\".$linkname." ".$server." ".$sharename." on"; $out = cmd($server_exec, $cmd); return $out; } //disable Link target function disableLinktarget($server_exec, $domainname, $rootname, $linkname, $server, $sharename) { $cmd = "modlink \\\\".$domainname."\\".$rootname."\\".$linkname." ".$server." ".$sharename." off"; 90 $out = cmd($server_exec, $cmd); return $out; } //tat server function shutdownServer($server_exec, $server) { $cmd = "shutdown /s /m \\\\".$server_exec."/t /d p:0:0"; $out = cmd($server_exec, $cmd); return $out; } //bat DFS service function startDFS($server_exec, $server) { $cmd = "sc \\\\".$server." start DFS"; $out = cmd($server_exec, $cmd); return $out; } //tat DFS service function stopDFS($server_exec, $server) { $cmd = "sc \\\\".$server." stop DFS"; $out = cmd($server_exec, $cmd); return $out; } // Tinh so ket noi den server function session($server) { $cmd = "net session"; $output = cmd($server, $cmd); $number = 0; foreach($output as $line){ $number = $number + substr_count($line, '\\\\'); } return $number; } // lấy mảng tên root domain function viewroot($server_exec, $domainname) { $cmd = "DFSutil /view /domain:\\\\".$domainname; $output = cmd($server_exec, $cmd); $number = false; 91 $i=0; $domainpos=0; $rname=array(); foreach($output as $line){ $domainpos = strpos($line, $domainname); if ($domainpos) { $number=!$number; } if ($number&&!$domainpos) { $line=ltrim($line); if ($line) { $rname[$i++]=$line; } } } return $rname; } // lấy mảng gồm tên link có root function viewlink($server_exec, $domainname, $rootname) { $cmd = "DFScmd /view \\\\".$domainname.'\\'.$rootname; $output = cmd($server_exec, $cmd); $i=0; $domainpos=0; $lname=array(); foreach ($output as $line) { if (substr_count($line, '\\\\')) { $arrline = split("\\\\",$line); if (count($arrline)==5) { $lname[$i++]=$arrline[4]; } } } return $lname; } //lấy mảng gồm tên server link function viewlinktarget($server_exec, $domainname, $rootname, $linkname) { $cmd = "DFScmd /view \\\\".$domainname.'\\'.$rootname.' /full'; $output = cmd($server_exec, $cmd); $i=0; $l=0; $domainpos=0; 92 $linktarget = array ( "server" => array (), "share" => array () ); foreach ($output as $line) { if ($l) { $arrline = split("\\\\",$line); if ($arrline[0]==' ') { $linktarget['server'][$i]=$arrline[2]; $linktarget['share'][$i]=$arrline[3]; $i++; } else {$l=0;} } if (substr_count($line, $rootname.'\\'.$linkname)) $l=1; } } return $linktarget; } ?> Mã nguồn executer.php DFM: Phần mềm Quản Tệp tin Phân tán { 93 Quay lại trang điều khiển 97 Mã nguồn index.php function submit_frms1(actionName) { // assign our form to object f var f = document.forms.frmS1; f.action.value=actionName; // submit the form f.submit(); } function submit_frms2(actionName) { // assign our form to object f var f = document.forms.frms2; f.action.value=actionName; // submit the form f.submit(); } DFM: Phần mềm Quản Tệp tin Phân tán 98

DFM Phần mềm Quản Tệp Phân tán bắt đầu thêm server để quản > > Server Exec name="execname" Domain name name="domainname" Root name :: Link name Server name Share name Folder name

99

100 Thoát khỏi chương trình Mã nguồn file modlink.exe #define UNICODE #include #include #include #include VOID usage(PWCHAR prog) { fprintf( stderr, "usage: %S []\n", prog ); } cdecl wmain(ULONG argc, PWCHAR *argv) { DFS_INFO_101 DfsInfo101; ULONG Status; LPWSTR DfsEntryPath, ServerName = NULL, SharePathName = NULL; LPWSTR ResultString; if (argc != 5) { usage(argv[0]); return 1; } DfsEntryPath = argv[1]; ServerName = argv[2]; SharePathName = argv[3]; if (!wcscmp( argv[4], L"on" )) { DfsInfo101.State = DFS_STORAGE_STATE_ONLINE; ResultString = L"enabled"; } else if (!wcscmp( argv[4], L"off" )) { DfsInfo101.State = DFS_STORAGE_STATE_OFFLINE; ResultString = L"disabled"; } else { usage(argv[0]); return 1; } // // and modify it // Status = NetDfsSetInfo( DfsEntryPath, ServerName, 101 SharePathName, 101, (LPBYTE) &DfsInfo101 ); if (Status == NERR_Success) { printf( "\\\\%S\\%S -> %S\n", ServerName, SharePathName, ResultString ); } else { fprintf( stderr, "error: %d\n", Status ); } return 0; } Mã nguồn Login.php DFM Phần mềm Quản Tệp Phân tán! 102 Đăng nhập nhập thông tin tài khoản

Tên tài khoản:

Mật khẩu:

Ngày đăng: 27/07/2017, 20:35

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w