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

Phát triển tính năng loại bỏ dữ liệu trùng lặp (Data Deduplication) cho dữ liệu đính kèm trong hệ thống thư điện tử sử dụng phần mềm hMailServer (tt)

31 424 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 31
Dung lượng 775,83 KB

Nội dung

Phát triển tính năng loại bỏ dữ liệu trùng lặp (Data Deduplication) cho dữ liệu đính kèm trong hệ thống thư điện tử sử dụng phần mềm hMailServerPhát triển tính năng loại bỏ dữ liệu trùng lặp (Data Deduplication) cho dữ liệu đính kèm trong hệ thống thư điện tử sử dụng phần mềm hMailServerPhát triển tính năng loại bỏ dữ liệu trùng lặp (Data Deduplication) cho dữ liệu đính kèm trong hệ thống thư điện tử sử dụng phần mềm hMailServerPhát triển tính năng loại bỏ dữ liệu trùng lặp (Data Deduplication) cho dữ liệu đính kèm trong hệ thống thư điện tử sử dụng phần mềm hMailServerPhát triển tính năng loại bỏ dữ liệu trùng lặp (Data Deduplication) cho dữ liệu đính kèm trong hệ thống thư điện tử sử dụng phần mềm hMailServerPhát triển tính năng loại bỏ dữ liệu trùng lặp (Data Deduplication) cho dữ liệu đính kèm trong hệ thống thư điện tử sử dụng phần mềm hMailServerPhát triển tính năng loại bỏ dữ liệu trùng lặp (Data Deduplication) cho dữ liệu đính kèm trong hệ thống thư điện tử sử dụng phần mềm hMailServerPhát triển tính năng loại bỏ dữ liệu trùng lặp (Data Deduplication) cho dữ liệu đính kèm trong hệ thống thư điện tử sử dụng phần mềm hMailServerPhát triển tính năng loại bỏ dữ liệu trùng lặp (Data Deduplication) cho dữ liệu đính kèm trong hệ thống thư điện tử sử dụng phần mềm hMailServer

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN ANH TUẤN PHÁT TRIỂN TÍNH NĂNG LOẠI BỎ DỮ LIỆU TRÙNG LẶP (DATA DEDUPLICATION) CHO DỮ LIỆU ĐÍNH KÈM TRONG HỆ THỐNG THƯ ĐIỆN TỬ SỬ DỤNG PHẦN MỀM HMAILSERVER Ngành: Công nghệ thông tin Chuyên ngành: Truyền liệu Mạng máy tính Mã số: Chuyên ngành đào tạo thí điểm TĨM TẮT LUẬN VĂN THẠC SĨ NGÀNH CÔNG NGHỆ THÔNG TIN Hà Nội – 2017 MỤC LỤC DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT LỜI MỞ ĐẦU CHƯƠNG I: TỔNG QUAN VỀ DATA DEDUPLICATION, HỆ THỐNG EMAIL VÀ MỖI LIÊN QUAN 1.1 Giới thiệu Data Deduplication 1.1.1 Data Deduplication gì? 1.1.2 Mục đích Data Deduplication 1.1.3 Phân loại Data Deduplication 1.1.4 So sánh kiểu Data Deduplication 1.2 Tổng quan hệ thống Email 1.3 Vấn đề Data Deduplication hệ thống Email CHƯƠNG II: PHƯƠNG THỨC THỰC HIỆN DATA DEDUPLICATION VÀ GIẢI PHÁP CHO HỆ THỐNG EMAIL 2.1 Phương thức thực Data Deduplication 2.1.1 Source Target Deduplication 2.1.2 Inline Post-process Deduplication 2.1.3 File Sub-File Level 2.1.4 Fixed-Length Blocks Variable-Length Data Segments… 2.1.5 Thuật toán băm (Hash-based Algorithms) 10 2.2 Giải pháp chống trùng lặp liệu Email 10 2.3 Đề xuất lựa chọn hMailServer để thực nghiệm 11 CHƯƠNG III: TÍCH HỢP TÍNH NĂNG DEDUPLICATION TRONG HỆ THỐNG HMAILSERVER .13 3.1 Tổng quan hMailServer 13 3.2 Xây dựng hệ thống Email với hMailServer 14 3.2.1 Giới thiệu thành phần cài đặt quản trị 14 3.2.2 Cài đặt sử dụng hệ thống hMailServer 14 3.2.3 Nhận xét khả chống trùng lặp liệu hMailServer 16 3.3 Tích hợp tính deduplication hMailServer 16 3.3.1 Xây dựng kịch triển khai 17 3.3.2 Cài đặt kịch 17 3.3.3 Hoạt động hMailServer trường hợp tích hợp Deduplication 22 3.4 So sánh kết thực nghiệm 24 KẾT LUẬN 25 TÀI LIỆU THAM KHẢO 26 DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT STT KÝ HIỆU Ý NGHĨA Data Deduplication AGPLv3 Affero General Public License v3 API Application Programming Interface ASCII American Standard Code for Information Interchange COM library COM library DNS Domain Name System Email Electronic Mail HTML HyperText Markup Language IMAP Internet Message Access Protocol 10 11 LAN Local Area Network MD5 Message-Digest algorithm 12 13 MDA 14 15 16 17 18 MTA MUA POP3 RFC Mail Delivery Agent Multipurpose Internet Mail Extensions Mail Transfer Agent Mail User Agent Post Office Protocol Ver3 Request for Comments SHA-1 Secure Hash Algorithm 19 SMTP Simple Mail Transfer Protocol MIME LỜI MỞ ĐẦU Cùng với phát triển chung tồn xã hội, cơng nghệ thơng tin bước phát triển ứng dụng rộng rãi thực tế Trong số đó, thư điện tử (email) dịch vụ trở nên phổ biến hết Email cho phép giao dịch, trao đổi thơng tin qua lại cách nhanh chóng, xác với độ tin cậy cao Tuy nhiên, đặc thù hệ thống email bao gồm nhiều người dùng người dùng nhận email từ nhiều người dùng khác Do vậy, có vấn đề phát sinh lượng liệu trùng lặp (thơng điệp thư gửi đi, tệp đính kèm,…) lưu trữ nhiều lần máy chủ email Nhận thức tính cấp thiết đề tài, tiến hành nghiên cứu phương pháp chống trùng lặp liệu để từ ứng dụng hệ thống email nhằm mục đích tối giảm trùng lặp liệu việc gửi / nhận email hệ thống, để từ tiết kiệm khơng gian lưu trữ máy chủ tăng tốc độ truy xuất liệu cho người dùng Tên đề tài khóa luận tơi là: “Phát triển tính loại bỏ liệu trùng lặp (Data Deduplication) cho liệu đính kèm hệ thống thư điện tử sử dụng phần mềm hMailServer” Bố cục Luận văn gồm chương với nội dung sau: - Chương 1: Tổng quan Data Deduplication, Hệ thống Email mối liên quan Chương 2: Phương thức thực Data Deduplication giải pháp cho hệ thống email Chương 3: Tích hợp tính Deduplication hệ thống hMailServer CHƯƠNG I: TỔNG QUAN VỀ DATA DEDUPLICATION, HỆ THỐNG EMAIL VÀ MỐI LIÊN QUAN 1.1 Giới thiệu Data Deduplication 1.1.1 Data Deduplication gì? Chống trùng lắp liệu (Data deduplication) kỹ thuật để làm giảm lượng không gian lưu trữ cho tổ chức vấn đề lưu trữ liệu Kỹ thuật giúp tiết kiệm dung lượng đĩa cứng đáng kể, hồn tồn khơng ảnh hưởng đến liệu khả truy xuất liệu Một cách tổng quát, Data Deduplication so sánh đối tượng (thường tập tin khối liệu) loại bỏ đối tượng (bản sao) tồn tập liệu Như vậy, Data Deduplication lưu liệu tập liệu thay khác cách sử dụng trỏ để dẫn trở lại với lưu trữ [1] 1.1.2 Mục đích Data Deduplication Lợi ích Data Deduplication làm giảm số lượng ổ đĩa mà tổ chức cần phải trang bị để lưu trữ liệu Việc loại bỏ liệu thừa tiết kiệm khoản chi phí khơng nhỏ cho tổ chức Ở khơng có chi phí trang bị phần cứng, mà cắt giảm chi phí liên quan hệ thống điện nguồn, hệ thống làm mát, bảo trì, khơng gian đặt thiết bị,…[1],[3] Trong vài trường hợp khác, đặc biệt liệu cần lưu trữ trao đổi qua mạng hệ thống lưu trữ liệu đám mây, chia sẻ liệu dùng chung,…kỹ thuật Data Deduplication làm tăng hiệu cho hệ thống [1],[3] 1.1.3 Phân loại Data Deduplication Theo tổ chức TechTarget [4-5], Việc phân loại kiểu Data Deduplicaton dựa theo hướng tiếp cận liệu Theo đó, chia kỹ thuật Data Deduplication thành ba loại sau:  File-level deduplication Cách tiếp cận File-level cách tiếp cận mức độ đơn giản nhất, thực thông qua việc so sánh tệp tin chuẩn bị lưu lưu trữ với tệp tin lưu trữ trước cách kiểm tra thuộc tính [6] Hình 1.1 So sánh hai tệp tin dựa thuộc tính tệp tin Ngoài việc so sánh dựa thuộc tính tệp tin, sử dụng cách so sánh xác cách so sánh khác bên tệp tin Phương pháp tạo hàm băm (hash) đại diện cho tệp tin, sau so sánh hàm băm tệp tin với tệp tin gốc [6]  Block-level deduplication Đây cách tiếp cận hoạt động mức sub-file (mức phụ file), tập tin chia thành phân đoạn liệu gọi khối (chunks blocks), sau phân đoạn tiến hành kiểm tra mức độ thừa so với thông tin lưu trữ trước [6] Phương pháp tiếp cận phổ biến để xác định liệu trùng lặp gán đinh danh cho khối liệu, sử dụng thuật tốn băm Kích thước khối liệu cố định (fixed block) sử dụng khối liệu thay đổi (variable-sized block)  Byte-level deduplication Đây cách tiếp cận kiểm tra trùng lặp chi tiết so với cách tiếp cận Block-level, đảm bảo độ xác thường đòi hỏi nhiều kiến thức chuyên sâu cho loại thiết bị lưu trữ để thực công việc [7] 1.1.4 So sánh kiểu Data Deduplication  So sánh File-level với Block-level Deduplication File-level Block-level có ưu nhược điểm riêng tùy thuộc vào trường hợp hoạt động khác nhau: [4]  File-level hiệu so với Block-level: Trường hợp có thay đổi tập tin làm cho toàn tập tin bị thay đổi lưu lại Trường hợp với cách tiếp cận Block-level lưu khối thay đổi phiên tập tin thay đổi  File-level hiệu so với Block-level: Việc đánh mục (index) cho file-level nhỏ đáng kể so với block-level, thời gian tính tốn file-level xác định Do đó, hiệu suất lưu trữ, lưu tốt hơn, bị ảnh hưởng q trình Data Deduplication  So sánh Block-level với Byte-level Deduplication Byte-level sử dụng cách so sánh liệu nguyên thủy – byte by byte (so sánh byte liệu với nhau) Do vậy, Byte-level tốn nhiều thời gian việc kiểm tra [8] 1.2 Tổng quan hệ thống Email Theo Wikipedia [9], Email viết tắt chữ Electronic Mail gọi Thư điện tử, hệ thống chuyển nhận thư qua mạng máy tính Email phương tiện truyền tin nhanh Một mẫu thơng tin gửi dạng mã hố hay dạng thơng thường chuyển qua mạng máy tính đặc biệt mạng Internet Nó chuyển mẫu thơng tin từ máy nguồn tới nhiều máy nhận lúc Định dạng cho thư điện tử gồm hai phần chính: tiêu đề thư (message header) nội dung thư (message body) Phần message header tách khỏi phần message body dòng trống 1.3 Vấn đề Data Deduplication hệ thống Email  Lợi ích Data Deduplication hệ thống Email Trong hệ thống email, thông thường tổ chức sử dụng kiểu địa tạm gọi địa nhóm xây dựng sẵn bên máy chủ email Việc sử dụng địa email chung cho nhóm dẫn đến vấn đề liệu email gửi đến nhóm lưu lại nhiều giống hòm thư thành viên nhóm Do vậy, việc áp dụng Data Deduplication cho hệ thống email giúp loại bỏ liệu thừa tập liệu lưu trữ máy chủ email Kỹ thuật giúp tiết kiệm khơng gian lưu trữ, tiết kiệm chi phí cho đầu đĩa cứng, chi phí bảo trì, lưu liệu, đồng thời giúp tăng cường hiệu hệ thống rút ngắn thời gian tương tác với liệu email cho người dùngHệ thống email khả Data Deduplication Do tính chất phổ biến nên ngày có nhiều giải pháp cung cấp dịch vụ email từ nhiều nhà cung cấp khác Tuy nhiên, nhiều máy chủ email chưa có sẵn tính Data Deduplication Chỉ số máy chủ email tính hợp thêm tính phiên gần CHƯƠNG II: PHƯƠNG THỨC THỰC HIỆN DATA DEDUPLICATION VÀ GIẢI PHÁP CHO HỆ THỐNG EMAIL 2.1 Phương thức thực Data Deduplication Phương thức thực Data Deduplication phụ thuộc vào kiểu sản phẩm nhà cung cấp sản phẩm Chẳng hạn kỹ thuật Deduplication tích hợp thiết bị lưu giải pháp lưu trữ, trình thực chắn khác so với việc thực thông qua phần mềm Deduplication độc lập [1] Trong khái niệm chung Data Deduplication tương đổi dễ hiểu việc ứng dụng kỹ thuật phức tạp Kỹ thuật Data Deduplication triển khai thực cần tham chiếu theo yếu tố kỹ thuật mô tả Hình 2.1 để có giải pháp triển khai cho phù hợp: [2] Hình 2.1 Mối tương quan yếu tố kỹ thuật công nghệ Deduplication Theo Hình 2.1, phân lớp yếu tố kỹ thuật sau: 13 CHƯƠNG III: TÍCH HỢP TÍNH NĂNG DEDUPLICATION TRONG HỆ THỐNG HMAILSERVER 3.1 Tổng quan hMailServer hMailServer máy chủ email miễn phí, nguồn mở dành cho hệ điều hành Microsoft Windows hMailServer hỗ trợ giao thức e-mail phổ biến (IMAP, SMTP POP3) dễ dàng tích hợp với nhiều hệ thống Webmail [17] hMailServer sáng lập phát triển Martin Knafve viết ngôn ngữ C++ C# hMailServer cấp phép theo AGPLv3 sử dụng miễn phí hầu hết tình thương mại hMailServer sử dụng hệ sở liệu tích hợp sẵn Microsoft SQL Server Compact Edition sử dụng sở liệu bên MySQL, Microsoft SQL PostgreSQL Máy chủ cài đặt kèm với công cụ quản lý gọi hMailServer Administrator người quản trị cấu hình tất thành phần giao diện web hMailServer kèm với thư viện COM Sử dụng thư viện COM, hMailServer tích hợp kịch (scripts) xây dựng ứng dụng đầy đủ nhằm mục đích mở rộng tính cho hMailServer  Mơi trường phát triển hMailServer hMailServer máy chủ email miễn phí mã nguồn mở nên việc phát triển mở rộng tính hỗ trợ tối đa từ tác giả cộng động người sử dụng Để phát triển hMailServer, thực theo hai hướng tiếp cận: 14 Phương án 1: viết kịch (script, trigger) để mở rộng tính hMailServer hỗ trợ hai ngôn ngữ kịch VBScript JScript Phương án 2: viết ứng dụng đầy đủ chỉnh sửa sourcecode hMailServer lưu trữ GitHub 3.2 Xây dựng hệ thống Email với hMailServer 3.2.1 Giới thiệu thành phần cài đặt quản trị hMailServer cài đặt nhiều hệ điều hành khác Microsoft Windows XP, Vista, 7, 8, 10 Windows Server 2003, 2008, 2012 tất phiên Chúng ta tiến hành cài đặt sau: - Sử dụng phiên hMailServer tính đến thời điểm thực luận văn 5.6.5 build 2367 để tiến hành cài đặt - Lựa chọn hệ điều hành Windows Server 2008 R2, sở liệu Microsoft SQL Server 2008 Express R2, cài đặt dịch vụ Active Directory để quản lý tập trung người dùng - Lựa chọn SquirrelMail làm Webmail, sử dụng chương trình mail client Microsoft Outlook Thunderbird - Lựa chọn sản phẩm Xampp (tích hợp sẵn Apache, PHP, MySQL,…) để tạo máy chủ web nhằm mục đích tạo môi trường để chạy Webmail (sử dụng SquirelMail) để chạy PHPWebAmin (công cụ quản trị máy chủ hMailServer) - Lựa chọn cài đặt dịch vụ web IIS để tạo đường link tham chiếu tới tệp tin đính kèm để xác thực tài khoản truy cập tệp tin đính kèm email 3.2.2 Cài đặt sử dụng hệ thống hMailServer  Cài đặt máy chủ hMailServer 15 Tiến hành tải chương trình cài đặt hMailServer địa chỉ: https://www.hmailserver.com/download Version: hMailServer 5.6.5 – build 2367 Sau tải về, tiến hành cài đặt cách chạy file “hMailServer-5.6.5-B2367.exe” thực theo dẫn trình cài đặt Tiếp sau đó, tiến hành cài đặt quản trị WebAdmin WebMail  Cấu hình tên miền tài khoản người dùng Sau cài đặt xong, để sử dụng hMailServer, cần khai báo tên miền (Domain) tạo tài khoản cho người dùng Chúng ta khai báo thơng qua WebAdmin thông qua công cụ quản trị cài đặt máy chủ hMailServer Hình 4.1 Tạo tên miền tài khoản sử dụng  Hoạt động gửi / nhận email hMailServer Thư gửi hệ thống hMailServer lưu hòm thư người nhận Chúng ta tiến hành kiểm tra hoạt động máy chủ hMailServer sau: 16 Trường hợp 1: Người dùng User1 gửi email cho Người dùng User2 Kết qua cho thấy email gửi lưu hòm thư User1 User2 Trường hợp 2: Người quản trị Admin gửi email cho Nhóm người dùng Group1 (trong hMailServer nhóm gọi distributions list), Group1 gồm hai người dùng User1 User2 Email gửi phân phát vào hòm thư User1 User2 với nội dung giống nhau: Hình 4.2 Cùng email gửi lưu hòm thư User1 User2 3.2.3 Nhận xét khả chống trùng lặp liệu hMailServer Sau quan sát trình gửi / nhận email hMailServer, thấy trường hợp email gửi cho nhiều người nhận lúc, nội dung email gửi giống lưu riêng biệt hộp thư đến người nhận Điều có nghĩa email giống lưu nhiều nơi khác hệ thống hMailServer Đây hạn chế liên quan đến vấn đề Data Deduplication hMailServer mà phiên hMailServer chưa cung cấp tính 3.3 Tích hợp tính deduplication hMailServer 17 3.3.1 Xây dựng kịch triển khai Nhằm mục đích tích hợp tính Data Deduplication hMailServer để giảm tải nhớ lưu trữ máy chủ tiết kiệm nhiều nguồn tài nguyên, xây dựng kịch để tích hợp tính Data Deduplication cho hệ thống hMailServer sau: - Bước 1: Kiểm tra email gửi trường hợp gửi cho nhiều nhóm người dùng (gồm nhiều người nhận) - Bước 2: Thực tách tệp tin đính kèm email gửi (trong trường hợp email có chứa tệp tin đính kèm) - Bước 3: Lưu tệp tin đính kèm vào thư mục xác định máy chủ hMailServer - Bước 4: Tạo đường link đến tệp tin vừa lưu trữ chèn đường link vào email gửi 3.3.2 Cài đặt kịch Chúng ta viết hai scripts ngôn ngữ VBScript mô tả mục Hai scripts hoạt động độc lập có ưu nhược điểm riêng Nội dung chi tiết sau: *) Script thứ nhất: không thực so sánh chuỗi MD5 tệp tin đính kèm Function DetachAttachments(oMessage) ' xác định đường dẫn chứa file đính kèm truy cập từ web PathName = "C:\xampp\htdocs\webmail\123\" UrlName = "http://192.168.100.100:81/webmail/123/" aText = "Email chứa file đính kèm gắn link sau:" ' kiểm tra email gửi có chứa file đính kèm khơng If oMessage.attachments.count > Then max=1000000 18 min=1 Randomize aFold = (Int((max-min+1)*Rnd+min)) counter = ' xác định đường dẫn chứa file đính kèm (subfolder) newfolderpath = "C:\xampp\htdocs\webmail\123\" & aFold ' tạo đối tượng filesys để kiểm tra folder vừa xác định có chưa, chưa có tạo set filesys=CreateObject("Scripting.FileSystemObject") If Not filesys.FolderExists(newfolderpath) Then Set newfolder = filesys.CreateFolder(newfolderpath) End If ' duyệt tất file đính kèm có email for i = to oMessage.attachments.count ' attachment ' xu ly kieu file num_fileExt = (InStr(1,StrReverse(oMessage.Attachments(i1).Filename),".")) - fileExt = Right(LCase(oMessage.Attachments(i1).Filename),num_fileExt) ' kiem tra co ton tai file dinh kem khong If (oMessage.attachments.item(i-1).size > 20) and (fileExt "eml") Then NewName = (Int((max-min+1)*Rnd+min)) aPath = PathName & aFold & "\" & NewName & "." & fileExt aUrl = UrlName & aFold & "/" & NewName & "." & fileExt oMessage.attachments.item(i-1).saveAs(aPath) oMessage.body = aUrl & VBNewLine & VBNewLine & oMessage.body oMessage.HTMLbody = "" & aUrl & "" & "" & "" & oMessage.HTMLbody 19 oMessage.attachments.item(i-1).delete() counter = End If next 'i - attachment ' chèn thông báo (aText) có file đính kèm If counter > Then oMessage.body = aText & VBNewLine & oMessage.body oMessage.HTMLbody = aText & "" oMessage.HTMLbody oMessage.save End If End If End Function & *) Script thứ hai: thực so sánh chuỗi MD5 tệp tin đính kèm để giảm thiểu tối đa vấn đề trùng lặp Script kết hợp với hàm tính chuỗi MD5 cho tệp tin (được trình bày đầy đủ báo cáo Luận văn) Function DetachAttachments(oMessage) 'xác định đường dẫn chứa file đính kèm truy cập từ web PathName = "C:\inetpub\wwwroot\hmailserver\attachfiles\" UrlName = "http://k21vnu.com:8080/attachfiles/" aText = "Email chua file dinh kem theo cac link duoi day:" 'kiểm tra xem email gửi có file đính kèm khơng If oMessage.attachments.count > Then max=1000000 min=1 Randomize 'duyệt file đính kèm có email For i = to oMessage.attachments.count 'xử lý kiểu file num_fileExt = (InStr(1,StrReverse(oMessage.Attachments(i1).Filename),".")) - 20 fileExt = Right(LCase(oMessage.Attachments(i1).Filename),num_fileExt) 'kiểm tra file đính kèm cần xử lý If (oMessage.attachments.item(i-1).size > 20) and (fileExt "eml") Then 'xác định đường dẫn tạm thời chưa file đính kèm newTempfolderpath = PathName & fileExt newTempUrlName = UrlName & fileExt 'lưu file, thực hashing, sau xóa kết thúc so sánh temp_current_attachfiles = "C:\xampp\htdocs\webmail\attachfiles\temp" aTempPath = temp_current_attachfiles & "\" & "temp_file_" & i & "." & fileExt oMessage.attachments.item(i-1).saveAs(aTempPath) sHash = MD5FileHash(aTempPath) 'MD5 hashing current attach file dem = 'kiểm tra folder theo kiểu file có chưa, chưa có tạo set filesys=CreateObject("Scripting.FileSystemObject") If Not filesys.FolderExists(newTempfolderpath) Then Set newfolder = filesys.CreateFolder(newTempfolderpath) NewName = (Int((max-min+1)*Rnd+min)) aPath = newTempfolderpath & "\" & NewName & "." & fileExt aUrl = newTempUrlName & "/" & NewName & "." & fileExt oMessage.attachments.item(i-1).saveAs(aPath) 'nếu tồn folder theo kiểu file Else 'so sánh chuỗi MD5 file đính kèm với file lưu Set AAA = CreateObject("Scripting.FileSystemObject") Set BBB = AAA.GetFolder(newTempfolderpath).Files For Each CCC In BBB If (MD5FileHash(CCC) = sHash) Then dem = 21 num_saved_fileName = (InStr(1,StrReverse(CCC),"\")) - savedfileName = Right(CCC,num_saved_fileName) Exit For End If Next 'kiểm tra kết so sánh IF (dem = 0) Then New2Name = (Int((max-min+1)*Rnd+min)) a2Path = newTempfolderpath & "\" & New2Name & "." & fileExt aUrl = newTempUrlName & "/" & New2Name & "." & fileExt oMessage.attachments.item(i-1).saveAs(a2Path) Else aUrl = newTempUrlName & "/" & savedfileName End If End If oMessage.Body = aUrl & VBNewLine & VBNewLine & oMessage.Body oMessage.HTMLBody = "" & aUrl & "" & "" & "" & oMessage.HTMLBody oMessage.attachments.item(i-1).delete() counter = End If 'xóa file đính kèm lưu tạm trước Set fso = CreateObject("Scripting.FileSystemObject") fso.DeleteFile(aTempPath) Next 'chèn text thơng báo có file đính kèm If counter > Then oMessage.Body = aText & VBNewLine & oMessage.Body oMessage.HTMLBody = aText & "" & oMessage.HTMLBody oMessage.save End If 22 End If End Function Để kịch hoạt động hMailServer, tiến hành bước sau: - Bước 1: Sao chép kịch vào tệp tin “EventHandlers.vbs” thuộc thư mục: C:\Program Files\hMailServer\Events máy chủ cài đặt hMailServer - Bước 2: Chạy chương trình quản trị hMailServer, chọn mục “Script” menu Setting, tiếp chọn “Enable” để kích hoạt Script click chọn “Reload scripts” để cập nhật kịch cho hMailServer, sau chọn “Save” để lưu lại: Hình 4.3 Cài đặt kịch tích hợp chức deduplication - Bước 3: Tạo Rule để áp dụng kịch Mở chương trình quản trị hMailServer, chọn mục “Rule”, sau tiến hành thêm Rule sau: email gửi kiểm tra xem email có gửi đến nhóm email khơng, có kích hoạt kịch tạo 3.3.3 Hoạt động hMailServer trường hợp tích hợp Deduplication 23 Khi tích hợp tính năng, hoạt động gửi / nhận email cho nhóm người dùng hMailServer thay đổi sau: - Người dùng thuộc nhóm mail nhận email có đường link trỏ đến tệp đính kèm lưu trữ: Hình 4.4 Giao diện người dùng nhận email - Tại hòm thư người nhận, dung lượng tệp chứa mail giảm đáng kể, gần giống dung lượng email khơng có tệp đính kèm: Hình 4.5 Email lưu hòm thư người nhận - Tệp đính kèm lưu thư mục thiết lập trước máy chủ hMailServer: 24 Hình 4.6 Tệp đính kèm lưu máy chủ 3.4 So sánh kết thực nghiệm Bằng việc triển khai tính Data Deduplication dựa tệp đính kèm, thấy hMailServer tiết kiệm không gian lưu trữ đáng kể cho máy chủ Email Server Một bảng so sánh gần việc khối lượng lưu trữ máy chủ email giảm sau: MB 10 MB Số lượng người nhận email gửi (2) 10 50 Dung lượng đĩa cứng dùng lưu trữ hMailServer chưa có tính deduplication (3) 10 MB 500 MB Dung lượng đĩa cứng dùng lưu trữ hMailServer tính hợp tính deduplication (4) MB 10 MB X (MB) Y X * Y (MB) X (MB) Dung lượng tệp đính kèm email (1) Dung lượng cần để lưu trữ (4) giảm so với (3) 90 % 98 % (1 – 1/Y) % Như tính toán gần bảng trên, dung lượng đĩa cứng máy chủ hMailServer dùng để lưu trữ tiết kiệm (1-1/Y) % so với thơng thường Trong đó, Y số lượng người nhận email gửi 25 KẾT LUẬN Như vậy, việc ứng dụng thành cơng kỹ thuật Data Deduplication hệ thống hMailServer nói riêng hệ thống lưu trữ liệu nói chung chắn đem lại lợi ích đáng kể cho người dùng nhà cung cấp dịch vụ Luận văn thực nội dung chính: - Nắm tổng quan kỹ thuật Data Deduplication, tổng quan email tương quan email với Data Deduplication - Các phương thức xử lý Data Deduplication nói chung đề xuất giải pháp cho việc xử lý liệu trùng lặp hệ thống email - Trình bày tổng quan máy chủ hMailServer mở rộng tính Data Deduplication cho hệ thống hMailServer Đánh giá mức hiệu kỹ thuật Data Deduplication triển khai cho hệ thống hMailServer so với hệ thống hoạt động thông thường Tuy nhiên, khả tìm hiều kiến thức thân có hạn nên bên cạnh kết đạt được, luận văn có mặt hạn chế định: - Chưa xử lý đầy đủ trường hợp Data Deduplication cho hệ thống hMailServer - Trong trình triển khai thực tế dịch vụ máy chủ email khác, cần có phân tích kỹ lưỡng để triển khai giải pháp Data Deduplication phù hợp với máy chủ email 26 TÀI LIỆU THAM KHẢO Stephen J.Bigelow (2007), Data Deduplication Explained Storage Magazine Jaspreet Singh Understanding Data Deduplication [online] Available at: http://www.druva.com/blog/understanding-datadeduplication/ [Accessed 28 July 2016] Chris Poelker (2013) Data deduplication in the cloud explained [online] Available at:http://www.computerworld.com/article/2474479/datacenter/data-deduplication-in-the-cloud-explained partone.html [Accessed 24 July 2016] Lauren Whitehouse The pros and cons of file-level vs block-level data deduplication technolog [online] Available at: http://searchdatabackup.techtarget.com/tip/The-pros-andcons-of-file-level-vs-block-level-data-deduplicationtechnology [Accessed 24 July 2016] Todd Erickson Deduplication best practices and choosing the best dedupe technology [online] Available at: http://searchdatabackup.techtarget.com/Deduplicationbest-practices-and-choosing-the-best-dedupe-technology [Accessed 28 July 2016] Data deduplication technology review [online] Available at: http://www.computerweekly.com/report/Datadeduplication-technology-review [Accessed 28 July 2016] Data deduplication methods: File-level vs Block-level vs byte-level deduplication [online] Available at: https://www.starwindsoftware.com/file-level-vs-blocklevel-vs-byte-level-deduplication [Accessed 05 August 2016] Lauren Whitehouse Data deduplication methods: Blocklevel versus byte-level dedupe [online] Available at: 27 10 11 12 13 14 15 16 17 http://searchdatabackup.techtarget.com/tip/Datadeduplication-methods-Block-level-versus-byte-leveldedupe [Accessed 05 August 2016] Email Wikipedia [online] Available at: https://en.wikipedia.org/wiki/Email [Accessed 05 August 2016] Introduction To Email CWS Community Workshop Series University of North Carolina at Chapel Hill Libraries | Chapel Hill Public Library | Carrboro Branch Library | Carrboro Cybrary | Durham Public Library Sharanjeet Hundal, Tanveer Singh, Basavasai Konuru (2012) A Final Project Presented to The Faculty of the Department of General Engineering San José State University Lawrence Hughes Internet E-mail: Protocols, Standards, and Implementation Artech House Telecommunications Library in London What is an Email Header? [online] Available at: http://whatismyipaddress.com/email-header [Accessed 05 August 2016] MIME Wikipedia [online] Available at: https://en.wikipedia.org/wiki/MIME [Accessed 05 August 2016] Wikipedia [online] Available at: https://en.wikipedia.org/wiki/Comparison_of_mail_server s Accessed 05 August 2016] GK_RAJ Deduplication Internals – Source Side & Target Side Deduplication [online] Available at: https://pibytes.wordpress.com/2013/03/09/deduplicationinternals-source-side-target-side-deduplication-part-4/ [Accessed 28 July 2016] hMailServer – Configuration [online] Available at: https://www.hmailserver.com/documentation/latest/?page =overview [Accesed 05 August 2016] ... độ truy xuất liệu cho người dùng Tên đề tài khóa luận tơi là: Phát triển tính loại bỏ liệu trùng lặp (Data Deduplication) cho liệu đính kèm hệ thống thư điện tử sử dụng phần mềm hMailServer ... Xây dựng hệ thống Email với hMailServer 14 3.2.1 Giới thiệu thành phần cài đặt quản trị 14 3.2.2 Cài đặt sử dụng hệ thống hMailServer 14 3.2.3 Nhận xét khả chống trùng lặp liệu hMailServer. .. đổi kinh nghiệm phù hợp cho việc phát triển hệ thống mã nguồn mở 13 CHƯƠNG III: TÍCH HỢP TÍNH NĂNG DEDUPLICATION TRONG HỆ THỐNG HMAILSERVER 3.1 Tổng quan hMailServer hMailServer máy chủ email

Ngày đăng: 18/01/2018, 17:20

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

TÀI LIỆU LIÊN QUAN

w