ĐỒ ÁN VỀ DATABASE TRÊN CLOUD ; TÌM HIỂU VỀ CƠ SỞ DỮ LIỆU MONGODB; ỨNG DỤNG VÀO THỰC TẾ: LƯU TRỮ ẢNH DỰA TRÊN NO SQL, KẾT HỢP VỚI NGÔN NGỮ LẬP TRÌNH PHP , TẠO RA WEBSITE CHO PHÉP NGƯỜI DÙNG UPLOAD ẢNH VÀ TRUY CẬP ẢNH CHÍNH XÁC THEO TỪNG THỜI ĐIỂM
HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG KHOA CƠNG NGHỆ THÔNG TIN ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Đề tài: “TÌM HIỂU CƠNG NGHỆ ĐIỆN TỐN ĐÁM MÂY VÀ CÁCH THU THẬP LƯU TRỮ DỮ LIỆU GIÁM SÁT” Giảng viên hướng dẫn : PGS.TS Sinh viên thực : Lớp : D07CN4 Khóa : 2007-2011 Hệ : CHÍNH QUY Hà Nội, tháng 11/2011 LỜI CẢM ƠN Trước tiên em xin gửi lời cảm sâu sắc tới thầy cô giáo khoa Công nghệ thông tin, Học Viện Cơng Nghệ Bưu Chính Viễn Thơng tận tình giảng dạy, truyền đạt cho em kiến thức, kinh nghiệm quý báu suốt năm năm qua Xin chân thành cám ơn thầy PGS.TS.Từ Minh Phương – trưởng Khoa Công nghệ thông tin, thầy TS Phạm Thế Quế - nguyên phó khoa Cơng nghệ thơng tin, thầy PGS.TS Trần Đình Quế - phó khoa Cơng nghệ thơng tin, thầy TSKH Nguyễn Minh Hải – trưởng môn Hệ thống thơng tin, thầy TS Hồng Xn Dậu – trưởng mơn Khoa học máy tính, thầy TS Nguyễn Duy Phương – trưởng môn Công nghệ phần mềm, cô Đặng Ngọc Phương Văn phòng Khoa, nhiều thầy khác Đặc biệt em xin gửi lời cảm ơn tới thầy PGS.TS Đỗ Trung Tuấn, giảng dạy trường Đại Học Khoa Học Tự Nhiên, tận tình giúp đỡ, trực tiếp hướng dẫn, bảo em suốt trình thực đồ án tốt nghiệp Nhân dịp này, xin cảm ơn bạn sinh viên khóa D2007 – CNTT đóng góp nhiều ý kiến quý báu chuyên môn để thực đồ án ! MỤC LỤC MỞ ĐẦU Phần cuối kết luận tài liệu tham khảo DANH MỤC HÌNH VẼ KÍ HIỆU CÁC CỤM TỪ VIẾT TẮT VÀ THUẬT NGỮ CHƯƠNG HỆ THỐNG DỮ LIỆU TRÊN ĐÁM MÂY Hoàn cảnh đời cơng nghệ Điện tốn đám mây .5 1.2 Hệ thống liệu phân tán đám mây 1.2.1 Xử lí phân tán 1.2.2 Cơ sở liệu phân tán .6 1.2.3 Nhân liệu đám mây 1.2.4 Quản lý giao dịch .11 1.3 Tổ chức liệu đám mây 15 1.3.1 Tổng quan về MongoDB 15 1.3.2 Đơn vị lưu trữ – document 16 1.3.3 Collections .17 1.3.4 Lưu trữ tệp tin 17 1.3.5 Cách cài đặt MongoDB 18 1.3.6 Các thao tác liệu MongoDB 19 1.3.7 Nhân liệu 22 1.3.8 Phương pháp Sharding .29 1.4 Xử lí liệu đám mây với Map – Reduce 37 1.4.1 Đặt vấn đề 37 1.4.2 Giới thiệu Map – Reduce 37 1.4.3 Thực thi Map – Reduce hệ thống phân tán .40 1.4.4 Một số toán thực tế sử dụng Map – Reduce 41 1.5 Kết luận 42 CHƯƠNG 2.XÂY DỰNG HỆ THỐNG LƯU TRỮ ẢNH TRÊN ĐÁM MÂY 43 2.1 Hệ thống camera giám sát 43 2.1.1 Ưu điểm IP camera 44 2.1.2 Phần mềm điều khiển IP camera 44 2.2 Xây dựng hệ thống lưu trữ ảnh đám mây 46 2.2.1 Công cụ sử dụng 46 2.2.2 Xác định thuộc tính file ảnh 46 2.2.3 Xử lý truy vấn 47 2.2.4 Tổ chức liệu server lưu trữ đám mây 48 2.3.1 Một số giao diện 49 Hình 2.11 kết tìm kiếm dạng đường liên kết, ta bấm vào đường liên kết để xem ảnh tương ứng với thời gian địa điểm 51 2.3.2 Một số đoạn mã chương trình 51 2.4 Kết luận 55 KẾT LUẬN 56 TÀI LIỆU THAM KHẢO 57 Đồ án tốt nghiệp MỞ ĐẦU Ngày hệ thống camera giám sát đã trở nên thơng dụng, lắp đặt để giám sát hoạt động nơi như: nhà máy, văn phòng, quan xí nghiệp, khách sạn, cửa hàng, nhà riêng… Người quản lý không cần phải đến tận nơi quan sát đâu, lúc mà theo dõi công việc diễn Hệ thống gồm có nhiều camera, tự động ghi hình khu vực cần quan sát Tín hiệu hình ảnh truyền từ camera về trung tâm, trung tâm có người theo dõi, để nắm xử lý vấn đề xảy trường Những hệ thống hoạt động liên tục 24/7, khơng có người quan sát trung tâm, ta nên đặt chế độ đặc biệt cho camera, ví dụ: chụp lại hình ảnh phát chuyển động, việc đặt chế độ nhờ vào phần mềm điều khiển Hình ảnh lưu vào ổ chứa liệu trung tâm để làm tư liệu Chẳng hạn có kẻ gian đột nhập vào khu vực có camera, ảnh chụp lại để làm chứng Những liệu hình ảnh cần lưu trữ cho tìm kiếm, tra cứu dễ dàng chúng phải tồn lâu dài Trong đồ án này, em trình bày ứng dụng cơng nghệ điện tốn đám mây vào việc lưu trữ xử lí liệu hình ảnh ghi lại hệ thống camera giám sát Đồ án gồm có phần sau: Chương 1: Hệ thống liệu đám mây Hoàn cảnh đời cơng nghệ Điện tốn đám mây Hệ thống liệu phân tán đám mây Phương pháp tổ chức liệu đám mây Phương pháp xử lí liệu đám mây Chương 2: Xây dựng hệ thống lưu trữ ảnh đám mây Hệ thống camera giám sát Xây dựng hệ thống lưu trữ ảnh đám mây Xây dựng chương trình phía người dùng Phần cuối kết luận tài liệu tham khảo Nguyễn Minh Hải – D07CN4 Trang Đồ án tốt nghiệp DANH MỤC HÌNH VẼ Hình 1.1 Ví dụ về sơ đồ phân bố sites hệ sở liệu phân tán Hình 1.2 Mơ hình Master – Slave Hình 1.3 Mơ hình nhiều master – slave .10 Hình 1.4: Mơ hình nhân theo cụm 11 Hình 1.5: Sơ đồ trạng thái giao dịch .13 Hình 1.6: Lịch biểu 14 Hình 1.7: Lịch biểu 14 Hình 1.8: Mơ hình CSDL hướng tài liệu .16 Hình 1.9: CSDL quan hệ thơng thường .16 Hình 1.10: Các thành phần cài .18 Hình 1.11: Khởi động MongoDB Server 19 Hình 1.12: Khởi động MongoDB Client .19 Hình 1.13: Lưu tệp tin MongoDB 21 Hình 1.14:Truy vấn tệp tin 22 Hình 1.15: Nhân theo mơ hình Single Master – Single Slave 22 Hình 1.16 : Thiết lập Master 23 Hình 1.17: Thiết lập Slave 24 Hình 1.18: Multi Master – Single Slave 24 Hình 1.19: Mơ hình Primary – Secondary 26 Hình 1.20: Khi primary bị lỗi, secondary tự động biến thành primary .26 Hình 1.21: Primary truyền liệu sang primary ban đầu (trở thành secondary mới) 27 Hình 1.22: Nhiều secondary nhận liệu từ primary, (priority độ ưu tiên trở thành primary) 28 Hình 1.23: Khi primary bị lỗi 28 Hình 1.24: primary đã tạo .29 Hình 1.25: Minh họa Sharding 30 Hình 1.26: Các thành phần hệ thống sharding liệu 31 Hình 1.27: Kết hợp nhân theo cụm với Sharding 37 Nguyễn Minh Hải – D07CN4 Trang Đồ án tốt nghiệp Hình 1.28: Sơ đồ hoạt động Map – Reduce 38 Hình 1.29: Sơ đồ hệ thống phân tán đơn giản .41 Hình 2.1: Sơ đồ hệ thống camera giám sát 43 Hình 2.2: Phần mềm WebcamXP 44 Hinh 2.3: Chức tự động chụp hình .45 Hình 2.4: MongoDB PHP 46 Hình 2.5: Xử lí truy vấn 47 Hình 2.6: Thiết kế sơ đồ server đám mây 48 Hình 2.7: Giao diện web 50 Hình 2.8: Đăng nhập 50 Hình 2.9: Form tải ảnh lên 51 Hình 2.10: Tìm kiếm ảnh theo thời gian chụp .51 Hình 2.11: Kết tìm kiếm .51 KÍ HIỆU CÁC CỤM TỪ VIẾT TẮT VÀ THUẬT NGỮ Từ viết tắt thuật ngữ Ý nghĩa CSDL Cơ sở liệu HQT Hệ quản trị Nguyễn Minh Hải – D07CN4 Trang Đồ án tốt nghiệp DBMS: database management system DDBMS: Distribute Database Hệ quản trị sở liệu Hệ quản trị sở liệu phân tán Management Sytem DDBS:Distribute Database Sytem SQL: Structure query language PHP: Hypertext Preprocessor CMOS:Complementary Metal-OxideSemiconductor Hệ thống liệu phân tán Ngơn ngữ truy vấn có cấu trúc Ngơn ngữ lập trình PHP Một loại cơng nghệ dùng để chế tạo vi mạch tích hợp Master Máy chứa liệu cần nhân Slave Máy nhận liệu nhân Map - Reduce Thuật toán Map – Reduce Replica Data Nhân liệu Replica Set Sharding Data Nguyễn Minh Hải – D07CN4 Nhân theo cụm Phân tán liệu Trang Đồ án tốt nghiệp đại học Chương 1: Hệ thống liệu đám mây CHƯƠNG HỆ THỐNG DỮ LIỆU TRÊN ĐÁM MÂY Hoàn cảnh đời cơng nghệ Điện tốn đám mây Tổ chức lưu trữ, bảo vệ thông tin liệu quan trọng các cá nhân, tổ chức Nhất ngày nay, tổ chức cơng ty, doanh nghiệp có quy mơ xun quốc gia, liệu về khách hàng, nhân viên, kinh doanh… khổng lồ, cần phải có nơi lưu trữ an tồn tin cậy, truy nhập lúc, nơi Để thực việc lưu trữ đó, tổ chức đã phải đầu tư mua phần cứng máy tính,ổ lưu trữ, phần mềm, thuê sở hạ tầng mạng internet, thuê chuyên gia tin học để phát triển, lắp đặt, bảo trì hệ thống, ngồi phải mua thiết bị phần cứng bị cũ Chi phí cho việc trì hoạt động hệ thống máy tính lớn Từ tốn điển vậy, chúng thấy có nơi cung cấp dịch vụ lưu trữ liệu an tồn tổ chức khơng phải quan tâm đến sở hạ tầng cho công nghệ nữa, tập trung vào cơng việc chun mơn, chắn có hiệu Đó lí quan trọng thúc đẩy đời công nghệ Điện tốn đám mây Cơng nghệ bước phát triển mạng internet Thuật ngữ “đám mây” ý nói đến phần sở hạ tầng cơng nghệ gồm có: máy chủ, kho lưu trữ liệu, phần mềm điều hành mạng, thiết bị phần cứng, phần mềm ứng dụng, dịch vụ cung cấp cho người dùng thông qua giao diện web Điện toán đám mây tiến internet chỗ là: máy tính người sử dụng khơng cần có ổ cứng dung lượng lớn khơng cần cài phần mềm ứng dụng nào, ngoại trừ trình duyệt web có kết nối internet sử dụng dịch vụ đám mây, dịch vụ mà người dùng sử dụng tài nguyên internet, khơng phải máy tính họ Chẳng hạn Google Docs ví dụ dịch vụ điện toán đám mây, tức máy người dùng khơng cần cài office mà làm việc với word, hay excel, nhờ vào dịch vụ trang web Sau liệu tạo từ người dùng lưu lại hệ thống lưu trữ nhà cung cấp dịch vụ Khi cần làm việc với liệu, người dùng cần mở trình duyệt web, đăng nhập, lựa chọn thao tác với liệu cá nhân Ngồi ra, số dịch vụ khác cung cấp là: dịch lưu trữ liệu, dịch vụ máy chủ, dịch vụ phần mềm ứng dụng Ưu điểm bật dịch vụ điện toán đám mây đáp ứng nhu cầu người dùng cách nhanh nhất, chất lượng đảm bảo, lúc, nơi Một số nhà cung cấp dịch vụ Điện toán đám mây Google, Facebook, Microsoft, IBM, Oracle,Yahoo,… Nguyễn Minh Hải – D07CN4 Trang Đồ án tốt nghiệp đại học Chương 1: Hệ thống liệu đám mây 1.2 Hệ thống liệu phân tán đám mây Như đã nêu trên, từ phần em sử dụng thuật ngữ “đám mây” với ý nghĩa phần sở hạ tầng công nghệ Điện toán đám mây Dữ liệu đám mây tập trung kho lưu trữ với dung lượng lớn (chẳng hạn Facebook, lưu trữ hàng chục tỉ ảnh tải lên từ người dùng) Để đảm bảo tốc độ xử lí yêu cầu từ nhiều triệu người dùng, nhà cung cấp đã tổ chức liệu theo mơ hình phân tán, tức đặt nhiều kho (site) lưu trữ nhiều vùng địa lí Tại site gồm có sở liệu hệ thống tự xử lý yêu cầu người dùng mà không cần phụ thuộc vào site lưu trữ khác 1.2.1 Xử lí phân tán Xử lý phân tán hay gọi hệ thống tính tốn phân tán số phận xử lý tự vận hành liên kiết mạng máy tính hợp đồng thực nhiệm vụ mà chúng phân công Các phận xử lý thiết bị tính tốn chạy chương trình Những phân tán? Đó thiết bị xử lý, kiểu khác phân tán chức năng: nhiều chức hệ thống máy tính chuyển giao cho thành phần phần cứng phần mềm thực Kiểu thứ ba theo liệu: Dữ liệu dùng số ứng dụng phân tán cho số vị trí xử lý Cuối cùng quyền điều khiển phân tán Quyền điều khiển việc thức số nhiệm vụ phân tán Các hệ thống xử lý phân tán phân loại sau: Mức độ kết nối, liên đới thành phần, cấu trúc tương giao, đồng hoá thành phần.Tại lại thực phân tán? Đó nhằm thích ứng tốt với việc phân bố rộng rãi người dùng, cơng ty, xí nghiệp Quan trọng hơn, nhiều ứng dụng công nghệ máy tính phân tán Chúng ta khẳng định rằng: lý việc xử lý phân tán thực tốt toán lớn phức tạp mà chúng gặp phải cách sử dụng quy tắc “Chia để trị “ Xử lý phân tán có hai ưu điểm bản: trước hết tận dụng sức mạnh tính tốn cách sử dụng nhiều phận xử lý cách tối ưu đòi hỏi phải nghiên cứu hệ thống phân tán hệ thống xử lý song song Ưu điểm thứ hai việc giả tốn theo nhóm hoạt động độc lập, kiểm sốt chi phí phát triển phần mềm 1.2.2 Cơ sở liệu phân tán Hệ sở liệu (CSDL) phân tán - Distribute Database Sytem (DDBS) : tập hợp liệu có liên đới logic phân bố nút mạng máy tính Hệ quản trị CSDL phân tán (Distribute Database Management Sytem - DDBMS) hệ thống phần mềm cho phép quản lý CSDL phân tán làm cho việc phân tán trở nên vơ hình người sử dụng Nguyễn Minh Hải – D07CN4 Trang Đồ án tốt nghiệp Chương 2: Xây dựng hệ thống lưu trữ ảnh đám mây CHƯƠNG 2.XÂY DỰNG HỆ THỐNG LƯU TRỮ ẢNH TRÊN ĐÁM MÂY 2.1 Hệ thống camera giám sát Giả sử tổ chức cần quản lí nhiều địa điểm camera, địa điểm có nhiều camera kết nối với mạng internet Những hình ảnh truyền qua mạng internet về trung tâm quan sát Những hình ảnh quan trọng chụp lại lưu vào CSDL đám mây, thông qua giao diện web, để phục vụ cho nhiều nhu cầu khác Hình 2.1: Sơ đồ hệ thống camera giám sát Các thành phần hệ thống gồm có: • IP camera: thiết bị ghi hình, quay phim truyền trực tiếp hình ảnh ghi lại qua mạng internet về trung tâm quan sát • Modem: Kết nối IP camera với internet • Mạng internet • Các máy tính quan sát trung tâm • Phần mềm điều khiển camera cài máy tính quan sát Nguyễn Minh Hải – D07CN4 43 Trang Đồ án tốt nghiệp Chương 2: Xây dựng hệ thống lưu trữ ảnh đám mây 2.1.1 Ưu điểm IP camera • Internet Camera có kích thước nhỏ gọn, có cổng RJ-45 để kết nối đến switch, tích hợp chuẩn WiFi để truy cập khơng dây thơng qua điểm truy nhập • Mỗi thiết bị đều có địa IP xác định, người sử dụng truy cập trực tiếp đến thiết bị qua giao diện web cách nhập địa IP Camera • IP Camera dùng cảm biến ảnh CMOS cho chất lượng hình ảnh có độ phân giải cao (640x480 pixels) • Ngồi ra, thiết bị có kèm theo tiện ích IPView SP cho phép người sử dụng quan sát camera cùng lúc, quản lý từ xa, điều khiển lưu lại hình ảnh dạng tĩnh hay video • IP Camera quay ban ngày ban đêm 2.1.2 Phần mềm điều khiển IP camera Ta thường sử dụng phần mềm WebcamXP, phần mềm giúp hiển thị hình ảnh truyền từ camera về máy tính quan sát Cách sử dụng sau: Khi lần chạy WebcamXP, ta cần phải thiết lập kết nối đến máy tính Cách làm sau: nhắp chuột phải lên cửa sổ WebcamXP để menu chọn “PCI\USB” chọn “IP camera”, sau chọn camera đã WebcamXP nhận dạng sẵn Khi đã chọn xong webcam hình ảnh WebcamXP ghi nhận vào cửa sổ thu hình Hình 2.2: Phần mềm WebcamXP Nguyễn Minh Hải – D07CN4 44 Trang Đồ án tốt nghiệp Chương 2: Xây dựng hệ thống lưu trữ ảnh đám mây WebcamXP có tính tự động chụp hình ảnh phát có chuyển động tầm quan sát camera Để sử dụng tính này, ta kết nối đến IP camera, sau chọn “Security””Motion detector” Hinh 2.3: Chức tự động chụp hình Với WebcamXP IP camera hai thành phần quan trọng, hệ thống Camera giám sát từ xa có khả năng: • Ghi xem lại đoạn video dạng AVI • Chụp lại hình ảnh dạng JPG • Các kiểu ghi hình • Xun suốt 24/24 • Chỉ ghi nhận biết di chuyển vùng quan sát • Ghi theo lịch hẹn trước • Tự động gửi e-mail chứa hình ảnh khoảng thời gian định trước • Cấu hình thơng số hình ảnh/video linh hoạt • Số khung hình/giây (Có thể đạt 20 khung hình/giây), độ tương phản, độ nhạy phát di chuyển Nguyễn Minh Hải – D07CN4 45 Trang Đồ án tốt nghiệp Chương 2: Xây dựng hệ thống lưu trữ ảnh đám mây 2.2 Xây dựng hệ thống lưu trữ ảnh đám mây 2.2.1 Công cụ sử dụng Gồm hệ quản trị CSDL MongoDB ngôn ngữ PHP: - Hệ quản trị CSDL: MongoDB, cách cài đặt đã trình bày phần 3.5 - Ngơn ngữ lập trình: PHP, version Để kết nối PHP với MongoDB, ta download driver hỗ trợ địa chỉ: http://uk.php.net/manual/en/mongo.installation.php#mongo.installation.windows Giải nén file vừa download vào thư mục C:\php\ext Mở file php.ini thêm dòng sau: extension=php_mongo.dll Để kiểm tra xem việc cài đặt thành công hay chưa, ta tạo chạy file info.php, nội dung là: Nếu kết việc cài đặt đã xong: Hình 2.4: MongoDB PHP 2.2.2 Xác định thuộc tính file ảnh Các file ảnh chia thành nhiều phần, phần gọi chunk, có dung lượng 256 KB, lưu vào document, với thuộc tính sau: Nguyễn Minh Hải – D07CN4 46 Trang Đồ án tốt nghiệp Thuộc tính id n data files_id Chương 2: Xây dựng hệ thống lưu trữ ảnh đám mây Ý nghĩa mã chunk số thứ tự chunk Dữ liệu chunk id file ảnh ban đầu Kiểu liệu String Số nguyên Nhị phân String Các documents thuộc collection: fs.chunks Ngoài ra, collection khác fs.files dùng để lưu thông tin về file ảnh ban đầu Trong fs.files, gồm documents có thuộc tính sau: Thuộc tính id filename length MD5 chunkSize Ý nghĩa Mã file ảnh Tên file ảnh Số chunk mà file bị chia Đảo bảo tính tồn vẹn file Kích cỡ chunk Kiểu liệu String String Số nguyên String Số nguyên uploadDate Thời điểm upload lên server Thời gian Place Time (năm, tháng, ngày, giờ, phút, giây) Địa điểm ảnh chụp Thời điểm ảnh chụp, xác đến giây String Thời gian 2.2.3 Xử lý truy vấn Khi có truy vấn ảnh, ví dụ: hiển thị tất ảnh ghi lại vào ngày 20, tháng 10, năm 2011 địa điểm A Đầu tiên, hệ thống tìm collection: fs.files document có thuộc tính “Thời điểm chụp” “Place” phù hợp với truy vấn để lấy “id” file ảnh Sau với “id” vừa tìm được, hệ thống gửi đến collection: fs.chunks để truy vấn nội dung ảnh trả kết về cho người dùng Hình 2.5: Xử lí truy vấn Nguyễn Minh Hải – D07CN4 47 Trang Đồ án tốt nghiệp Chương 2: Xây dựng hệ thống lưu trữ ảnh đám mây 2.2.4 Tổ chức liệu server lưu trữ đám mây Dữ liệu phải tổ chức server cho đảm bảo được: • Tính tồn vẹn liệu • Khối lượng liệu server khơng bị q tải • Dữ liệu xử lý song song • Tính sẵn sàng liệu • Khả phục hồi liệu hệ thống sau bị cố Do vậy, ứng dụng này, em kết hợp mơ hình phân tán liệu (mục 3.8) với mơ hình nhân theo cụm (mục 3.7.3) đây: Client Client Client Hình 2.6: Thiết kế sơ đồ server đám mây Hệ thống gốm có: • Nhiều Controller Server làm nhiệm vụ tiếp nhận truy vấn từ Client, gửi truy Nguyễn Minh Hải – D07CN4 48 Trang Đồ án tốt nghiệp Chương 2: Xây dựng hệ thống lưu trữ ảnh đám mây vấn đến Shard Server để thực hiện, sau trả kết về Client • Shard Server: Nơi chứa phần liệu phân tán • Secondary: Một nhiều máy chứa liệu chép lại từ Shard Server có liệu cập nhật Shard Server Với sơ đồ trên, hệ thống tránh tải truy vấn từ phía người dùng có nhiều Controller Server tiếp nhận truy vấn cùng thời điểm Hệ thống đáp ứng tính tồn vẹn liệu tổng số liệu Shard Server liệu ban đầu Nếu Shard Server bị lỗi, dẫn đến tổn thất liệu đó, liệu phục hồi tự động có máy Secondary thực trình tự chép liệu lên Shard Server (theo mục 3.7.3 – Nhân theo cụm) Các phần liệu phân tán, có nhiều sao, nằm Shard Server, nhằm đảm bảo tính sẵn sàng liệu Ngồi ra, liệu phân tán nhiều máy nên việc thực thuật tốn tính tốn song song đạt hiệu cao Thiết lập Controller Server: mongod port dbpath configsvr mongos configdb port chunkSize Thiết lập Shard Server: mongod port dbpath shardsvr Thiết lập cụm Replica Set: mongod dbpath port replSet / –rest Như vậy, với sơ đồ bước cấu trên, ta đã thực việc tổ chức server đám mây để lưu trữ liệu tiếp nhận truy vấn Sau chương trình cho phía người dùng 2.3 Xây dựng chương trình phía người dùng Hệ thống lưu trữ tương tác với người sử dụng thông qua giao diện web, gồm có chức là: “Tải ảnh lên” “Tìm kiếm” Để thực chức tải ảnh chụp địa điểm có camera theo dõi, giả sử địa điểm A, người dùng cần có tên truy nhập, mật chọn địa điểm upload A (theo hình 2.8) Để thực tìm kiếm ảnh, người dùng chọn tìm kiếm theo địa điểm đặt camera, theo thời gian xác đến giây Ngồi ra, người dùng xem thống kê số lượng ảnh chụp khoảng thời gian 2.3.1 Một số giao diện Nguyễn Minh Hải – D07CN4 49 Trang Đồ án tốt nghiệp Chương 2: Xây dựng hệ thống lưu trữ ảnh đám mây Hình 2.7: Giao diện web Hình 2.8: Đăng nhập Nguyễn Minh Hải – D07CN4 50 Trang Đồ án tốt nghiệp Chương 2: Xây dựng hệ thống lưu trữ ảnh đám mây Hình 2.9: Form tải ảnh lên Hình 2.10: Tìm kiếm ảnh theo thời gian chụp Hình 2.11: Kết tìm kiếm Hình 2.11 kết tìm kiếm dạng đường liên kết, ta bấm vào đường liên kết để xem ảnh tương ứng với thời gian địa điểm 2.3.2 Một số đoạn mã chương trình 2.3.2.a Kết nối PHP với MongoDB $c=new Mongo(‘localhost:27021’); $db=$c->selectDB("MINHHAI"); $result = $db->authenticate($name,$pass); $collection=$db->images; 2.3.2.b Xử lý file ảnh trước thêm vào CSDL