NGHIÊN CỨU VỀ CÔNG NGHỆ LƯU TRỮ ĐÁM MÂY (OWNCLOUD) VÀ XÂY DỰNG ỨNG DỤNG TRA CỨU DỮ LIỆU BẰNG NGÔN NGỮ HTNML5+ Chương 1: Giới thiệu tổng quan về công nghệ lưu trữ và giải pháp Owcloud, tìm hiểu về khái niệm, tính năng, kiến trúc, mô hình quản lý dữ liệu và các công cụ quản lý trên công nghệ lưu trữ đám mây ứng dụng cho tra cứu dữ liệu.+ Chương 2: Giới thiệu về công nghệ WebServices và WebSocket, kiến trúc cũng như cách thức hoạt động của ngôn ngữ HTML5 và giao tiếp giữa các API tìm kiếm trên đám mây hoạt động như thế nào.+ Chương 3: Cài đặt, cấu hình ownlcoud và thử nghiệm xây dựng mô hình tra cứu dữ liệu trên đám mây vận hành trên trình duyệt Chorme.
Trang 1-
NGUYỄN XUÂN ĐOÀN
NGHIÊN CỨU VỀ CÔNG NGHỆ LƯU TRỮ ĐÁM MÂY (OWNCLOUD) VÀ XÂY DỰNG ỨNG DỤNG TRA CỨU DỮ
LIỆU BẰNG NGÔN NGỮ HTNML5
Chuyên ngành: KHOA HỌC MÁY TÍNH
Mã số: 60.48.01
TÓM TẮT LUẬN VĂN THẠC SĨ
HÀ NỘI, 2013
Trang 2Luận văn được hoàn thành tại:
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
Người hướng dẫn khoa học: TS.HOÀNG LÊ MINH
Phản biện 1: ………
Phản biện 2: ………
Luận văn sẽ được bảo vệ trước Hội đồng chấm luận văn thạc sĩ tại Học viện Công nghệ Bưu chính Viễn thông
Vào lúc: giờ ngày tháng năm
Có thể tìm hiểu luận văn tại:
- Thư viện của Học viện Công nghệ Bưu chính Viễn thông
Trang 3MỞ ĐẦU
Những năm gần đây, thuật ngữ “đám mây” (cloud) rất thường được nhắc đến trên các phương tiện đại chúng như là một cách mạng công nghệ trong thời đại Internet Lưu trữ đám mây –
là một trong các dịch vụ “đám mây” phổ biến nhất hiện nay
Lưu trữ đám mây là một dịch vụ lưu trữ dữ liệu ở các thiết bị mà người dùng không biết được địa chỉ thực Người dùng có thể truy cập, tải lên, tải về, đồng bộ hoá dữ liệu ở bất kỳ nơi đâu
có Internet
Với công nghệ “đám mây” người dùng không còn lệ thuộc vào các thiết bị lưu trữ vật lý như đĩa nhớ, CD… và có thể truy cập ở mọi nơi có Internet
Với việc nghiên cứu công nghệ lưu trữ đám mây, luận văn này tập trung tìm hiểu những khái niệm cơ bản về công nghệ lưu trữ của ownCloud và ứng dụng vào phân tích, xây dựng thử nghiệm một ứng dụng tra cứ dữ liệu trên ownCloud vận hành trên trình duyệt Chorme
Luận văn bao gồm ba chương chính với nội dung như sau:
+ Chương 1: Giới thiệu tổng quan về công nghệ lưu trữ và giải pháp Owcloud, tìm hiểu về khái niệm, tính năng, kiến trúc, mô hình quản lý dữ liệu và các công cụ quản lý trên công nghệ lưu trữ đám mây ứng dụng cho tra cứu dữ liệu
+ Chương 2: Giới thiệu về công nghệ WebServices và WebSocket, kiến trúc cũng như cách thức hoạt động của ngôn ngữ HTML5 và giao tiếp giữa các API tìm kiếm trên đám mây hoạt động như thế nào
+ Chương 3: Cài đặt, cấu hình ownlcoud và thử nghiệm xây dựng mô hình tra cứu dữ liệu trên đám mây vận hành trên trình duyệt Chorme
Trang 4CHƯƠNG 1 – TỔNG QUAN VỀ CÔNG NGHỆ LƯU TRỮ ĐÁM MÂY
VÀ GIẢI PHÁP OWNCLOUD
1.1 Giới thiệu về công nghệ lưu trữ đám mây
1) Cơ bản về công nghệ lưu trữ đám mây
Về cơ bản, một hệ thống đám mây lưu trữ cần phải có dạng kết nối mạng theo mô hình kết nối mạng tới trung tâm dữ liệu (với các tiêu chuẩn, giao thức kết nối và yêu cầu về bảo mật) để người dùng có thể khai thác được dịch vụ này Khi sử dụng dịch vụ lưu trữ đám mây từ một máy trạm, người dùng gửi dữ liệu tới trung tâm dữ liệu thông qua các kết nối mạng Trung tâm dữ liệu sẽ lưu dữ liệu và ghi lại những thông tin cần thiết khác
Khi người dùng muốn lấy thông tin, họ phải truy cập vào trung tâm dữ liệu thông qua các giao diện người dùng (giao diện phần mềm, giao diện web, giao diện đồ họa cơ bản) bằng các giao thức khác nhau Sau khi được chứng thực người dùng, trung tâm dữ liệu sẽ thực hiện xác định người dùng được phép truy cập vào khu vực đám mây lưu trữ nào với những quyền gì
Một hệ thống đám mây lưu trữ thông thường được xây dựng từ một vài máy chủ dữ liệu, nhiều hay ít máy chủ quyết định bởi mô hình đám mây được sử dụng Một hệ thống máy tính thường yêu cầu bảo trì và sửa chữa, vì thế phải có cơ chế lưu trữ cùng một dữ liệu trên nhiều máy tính khác nhau
2) Cơ sở hạ tầng cho đám mây lưu trữ
Cơ sở hạ tầng cho một đám mây lưu trữ là các thành phần phần cứng, phần mềm đáp ứng được nhu cầu tính toán của một mô hình đám mây lưu trữ
3) Các loại hình đám mây lưu trữ
Đám mây lưu trữ đặc thù là loại hình đám mây lưu trữ với mục đích sử dụng đơn nhất Hiện nay có một số đám mây lưu trữ đặc thù thông dụng sau:
Đám mây lưu trữ tài liệu: Là loại lưu trữ tài liệu dùng để đọc và thao tác trên đó, ví dụ như
Google Docs
Đám mây lưu trữ hình ảnh: Là loại lưu trữ hình ảnh dùng để xem và thao tác trên đó, ví dụ
như Flickr, Picasa
Đám mây lưu trữ e-mail: Là loại lưu trữ dữ liệu thư
Đám mây lưu trữ phim ảnh: Là loại cho phép người dùng tải các đoạn phim của mình và
chia sẻ với người khác, ví dụ như Youtube điện tử của người dùng, ví dụ như Gmail, Hotmail, Yahoo! Mail
4) Lợi ích của công nghệ lưu trữ đám mây
Phục hồi dữ liệu:
Đa thiết bị truy cập:
Trang 5Làm việc từ xa:
Hiệu quả về mặt môi trường:
Khả năng bảo mật:
1.2 Dịch vụ đám mây lưu trữ
1) Mô hình dịch vụ đám mây lưu trữ
Một hệ thống lưu trữ đám mây được đánh giá là chuyên nghiệp phải có những phương án
mở rộng hoạt động, có những phương thức giúp người dùng truy cập dữ liệu ở khắp nơi và bộ công
cụ phần mềm linh hoạt trong các môi trường Thường có 3 loại mô hình đám mây lưu trữ là:
Đám mây lưu trữ công cộng (public cloud storage): Là môi trường lưu trữ dành cho
nhiều người dùng, ví dụ: Amazon S3
Đám mây lưu trữ riêng (private cloud storage): Là môi trường dành riêng được bảo vệ
bên trong hệ thống tường lửa của tổ chức, doanh nghiệp Mô hình này thích hợp nhất với những người dùng cần tối ưu lại hệ thống đám mây lưu trữ và áp dụng những quy trình quản lý dữ liệu chi
tiết của tổ chức, doanh nghiệp
Đám mây lưu trữ lai (hybrid cloud): Là mô hình kết hợp bởi 2 mô hình đám mây lưu trữ
trên với một phần nền tảng như của đám mây riêng và một phần nền tảng như của đám mây công
cộng
2) Một số dịch vụ đám mây lưu trữ hiện nay
Đám mây lưu trữ của Amazon S3: Amazon đang phát triển các dịch vụ, cơ sở hạ tầng
dành cho lưu trữ được gọi là dịch vụ lưu trữ đơn giản trên Amazon
Đám mây lưu trữ của hang Apple Icloud: Đây là dịch vụ hoạt động trên công nghệ điện
toán đám mây, cung cấp cho người dùng cách thức mới để lưu trữ và truy cập dữ liệu từ mọi thiết bị
của Apple
Đám mây lưu trữ của hãng Microsoft Windows Live SkyDrive: Đây là một dịch vụ lưu
trữ đám mây miễn phí do Microsoft phát triển Dung lượng lưu trữ mà Microsoft cung cấp cho
người dùng tối đa là 25GB nhưng dung lượng tối đa dành cho một tệp dữ liệu là 100MB
3) Các tiêu chuẩn cho dịch vụ lưu trữ đám mây
Khả năng co giãn:
Tự động:
Khả năng mở rộng:
Bảo mật dữ liệu:
Hiệu suất:
Tin cậy:
Dễ quản trị:
Hiệu quả năng lượng:
Trang 61.3 Tổng quan về OwnCloud
1.3.1 Khái niệm
OwnCloud là một mã nguồn mở và phần mềm miễn phí có thể được sử dụng để tạo ra giải pháp lưu trữ đám mây, máy chủ ownCloud có thể được tạo ra trên Windows cũng như các nền tảng Linux hỗ trợ tất cả mọi thứ từ Windows sang Mac OSX, Android và Iphone
1.3.2 Tính Năng
1) Đồng bộ hóa dữ liệu:
2) Cách thức truy cập:
3) Chia sẻ dữ liệu:
4) Điểm mới trong OwnCloud 4:
Phiên bản:
Mã hóa:
Kéo - Nhả:
Themeing:
Viewer for ODF Files:
Ứng dụng API’s:
Di trú và sao lưu:
5) Tăng cường trong OwnCloud 4
Lịch Tập tin thông báo:
Phòng trưng bày:
6) Chức năng của Admin:
Lưu trữ gắn ngoài:
Đăng nhập:
LDAP/Active Directory:
1.4 Kiến trúc tổng quan của ownCloud
Với ownCloud bạn có thể kiểm soát dữ liệu nhạy cảm của bạn:
Bảo vệ và quản lý dữ liệu nhạy cảm của bạn bằng cách lưu trữ trên trang web
Dễ dàng mở rộng thông qua chức năng trên tập hợp các API
Tích hợp vào các cơ sở hạ tầng hiện có và hệ thống an ninh, quản lý các chính sách công ty
Trang 7Hình 1.1 Cách hành động trong ownCloud
1) Kiến trúc tổng quan
Mấu chốt của giải pháp ownCloud là các máy chủ ownCloud Không giống như các dịch vụ đám mây dựa trên người tiêu dùng và các ứng dựng lưu trữ với lưu trữ của bên thứ ba, máy chủ của ownCloud cho phép quản lý tất cả các yếu tố liên quan với ownCloud on-site từ tập tin lưu trữ đến ngưởi sử dụng và xử lý dữ liệu
Các máy chủ ownCloud lưu trữ tập tin người dùng theo chuẩn của hệ thống định dạng file
và có thể sử dụng gần như tập tin hệ thống này Với OwnCloud, nếu bạn có thể gắn kết nó trên máy chủ của bạn, ownCloud có thể được sử dụng Thực tế, điều này có nghĩa là rất nhiều hệ thống tập tin tiêu chuẩn và thiết bị lưu trữ có thể được kết hợp sử dụng – OwnCloud là hệ thống tập tin và lưu trữ theo cách mà bạn không thể biết được
Để tích hợp ownCloud với cơ sở hạ tầng công nghệ thông tin thông tin các ứng dụng
plug-in Các plug-in có thể được kích hoạt thông qua bảng điều khiển trên máy chủ, cung cấp các chức năng giống như thư mục hoạt động và giao thức truy nhập thư mục(LDAP) tích hợp cho tài khoản người dùng và xác thực
Trang 8Hình 1.2 Kiến trúc của ownCloud
2) Kiến trúc Server
OwnCloud là một ứng dụng web PHP chạy trên IIS hoặc Apache của hệ điều hành Windows hay Linux Ứng dụng PHP này quản lý tất cả các khía cạnh của ownCloud, từ người sử dụng đến plug-in, chia sẻ tập tin và lưu trữ
Để truy cập và sử dụng nhiều loại lưu trữ khác nhau, ownCloud có xây dựng lớp lưu trữ trừu tượng Kết quả, ownCloud có thể tận dụng một vài giao thức lưu trữ có thể được gắn trên máy chủ ownCloud – từ CIFS, NFS VÀ GFS2, đến các hệ thống file cluster(cluster file systems) như Gluster/
Hình 1.3 Kiến trúc của ownCloud Server
Trang 93) Kịch bản triển khai
OwnCloud được triển khai như n-tier sự cân bằng ứng dụng web chạy trong trung tâm dữ liệu(data center) OwnCloud có thể được triển khai vật lý, điện toán đám mây riêng ảo, hoặc đám mây riêng, theo yêu cầu Luôn có một cân bằng tải của toàn bộ quá trình triển khai với ít nhất là hai kết nối với ứng dụng máy chủ
Tích hợp cơ sở hạ tầng
OwnCloud tích hợp với AD, LDAP và OAuth2.0 Quản trị viên cho phép ứng dụng plug - in AD/LDAP, cấu hình địa chỉ máy chủ, giao thức và các bộ lọc, và người dùng có chứng thực
Ngoài việc tích hợp AD/LDAP, ownCloud cung cấp một loạt tích hợp với các công cụ khác
Ví dụ, nó có thể tận dụng người dùng API cấp sử dụng tự động hóa để cung cấp một ownCloud mới cho người sử dụng
OwnCloud cung cấp các kỹ thuật cho việc tạo ứng dung plug-in để tích hợp với hệ thống hiện tại Đó là trường hợp sử dụng kỹ thuật xác thực Trong khi ownCloud hỗ trợ tích hợp LDAP,
AD và OAuth2.0, một số tùy chỉnh xác thực người dùng và ủy quyền plug-in dã được tạo ra từ mã thông báo tên người dùng và bổ sung dựa trên mật khẩu
n-Tier giống như một ứng dụng web, ownCloud tích hợp vào trang web Phát hiện xâm nhập
hệ thống làm việc, công cụ quản lý mạng công việc và tường lửa hiện tại đơn giản chỉ là tận dụng cổng và chứng chỉ SSL Sao lưu một hệ thống máy chủ và cơ sở dữ liệu như bất kỳ ứng dụng web khác
1.5 Mô hình quản lý dữ liệu và các công cụ quản lý để tra cứu
1) Mô hình quản lý dữ liệu trên đám mây
Hình 1.4 Hệ thống lưu trữ kiến trúc đám mây điển hình bao gồm một máy chủ kiểm soát tổng thể và
một số máy chủ lưu trữ
Trang 10Có hàng trăm hệ thống lưu trữ đám mây khác nhau Ví dụ như Web lưu trữ tin nhắn hoặc e-mail, hình ảnh kỹ thuật số Các cơ sở hệ thống lưu trữ đám mây được gọi là trung tâm dữ liệu
Ở cấp độ cơ bản nhất, một hệ thống lưu trữ đám mây là một máy chủ dữ liệu kết nối với internet Một khách hàng (ví dụ, một người sử dụng máy tính đăng ký vào một dịch vụ lưu trữ đám mây) sẽ gửi các bản sao của tập tin qua internet đến máy chủ dữ liệu, sau đó ghi các thông tin Khi khách hàng muốn lấy thông tin, người đó truy cập vào máy chủ dữ liệu thông qua một giao diện web Máy chủ sau đó sẽ gửi các tập tin lại cho khách hàng hoặc cho phép khách hàng truy cập và thao tác các tập tin trên máy chủ riêng của mình
WebDAV:
WebDAV là viết tắt của cụm từ Web-based Distributed Authoring and Versioning (tạm dịch
hệ thống quản lý chứng thực và phiên bản dựa trên môi trường Web) là một trong những sáng chế của tổ chức IEFT
Mục đích của giao thức WebDAV là làm cho môi trường World Wide Web trở thành một phương tiện truyền thông linh hoạt, có khả năng đọc cũng như sửa đổi mọi nội dung một cách dễ dàng Nó cung cấp những khả năng như tạo, thay đổi, di chuyển các tài liệu trên một server từ xa (thường là một web server hay "web share")
2) Các công cụ quản lý dữ liệu: Là Deskop Sync Clients và OwnCloud Mobile Apps
1.6.Lịch sử phát triển của OwnCloud
Phiên bản 1.0 được phát hành vào ngày 24 tháng 06 năm 2010 được viết bởi Frank Karlitschek
Phiên bản 1.1 được phát hành vào ngày 23 tháng 11 năm 2010 của Frank Karlitschek đã bổ sung thêm một số tinh năng mới
Phiên bản 1.2 ra đời ngày 15 tháng 04 năm 2011 với sự phát triển của cộng đồng mạng đã có những thay đổi rõ rệt
Sau đó 6 tháng phiên bản 2.0 ra đời và các tính năng đã được cải tiến rất nhiều
Phiên bản 3.0 ra đời vào ngày 31 tháng 01 năm 2012
Phiên bản 4.0 ra đời 22 tháng 05 năm 2012
Phiên bản 4.5 ra đời ngày 3 tháng 10 năm 2012 và Phiên bản 5.0 ra đời vào tháng 02 năm
2013 nhưng chưa được đưa vào thực tế
1.7 Kết Chương:
Nội dung trong chương 1 của luận văn chủ yếu giới thiệu tổng quan về công nghệ lưu trữ đám mây ownCloud Qua đó cung cấp một cái nhìn tổng quan cho những ai đang phát triển phần mềm hay ứng dụng bằng PHP và CSDL SQL Server nếu muốn chuyển hệ thống phần mềm hiện tại thành SaaS hay muốn đưa ứng dụng local lên đám mây
Trang 11CHƯƠNG 2 – TỔNG QUAN VỀ CÁC CÔNG NGHỆ NỀN TẢNG
TRONG TRA CỨU DỮ LIỆU TRÊN WEB
2.1 Giới thiệu công nghệ web services:
Web Services (dịch vụ web) là tập hợp các phương thức của một đối tượng mà các Client có thể gọi thực hiện.Web Services được xây dựng dựa trên SOAP (Simple Object Access Protocol)
2.1.1 Đặc điểm web services
Dịch vụ Web cho phép client và server tương tác được với nhau ngay cả trong những môi trường khác nhau
2.1.2 Kiến trúc web services
Web services gồm có 3 chuẩn chính: SOAP (Simple Object Access Protocol), WSDL (Web Service Description Language) và UDDI (Universal Description, Discovery, and Integration) UDDI được sử dụng để đăng ký và khám phá dịch vụ Web đã được miêu tả cụ thể trong WSDL Giao tác UDDI sử dụng SOAP để nói chuyện với UDDI server, sau đó các ứng dụng SOAP yêu cầu một dịch vụ Web Các thông điệp SOAP được gửi đi bởi HTTP và TCP/IP
2.1.3 Thành phần web services
Bao gồm Web Service Description Language, Universal Description Discovery Integration
và Simple Object Access Protocol
2.2 Giới thiệu tổng quan về websocket
WebSoket là công nghệ hỗ trợ giao tiếp hai chiều giữa client và server bằng cách sử dụng một TCP socket để tạo một kết nối hiệu quả và ít tốn kém
Hình 2.1 Kiến trúc của WebSocket Server
Trang 12Trình duyệt sẽ gửi yêu cầu HTTP đều đặn và ngay lập tức nhận được một phản ứng Kỹ thuật này là nỗ lực đầu tiên cho trình duyệt để cung cấp thông tin thời gian thực Rõ ràng, đây là một giải pháp tốt nếu khoảng thời gian chính xác cung cấp tin nhắn được biết đến, bởi vì bạn có thể đồng bộ hóa các yêu cầu của khách hàng chỉ xảy ra khi thông tin có sẵn trên máy chủ
2.2.1 Giao thức Bắt tay trong websocket
Để thực hiện kết nối, client phải gửi một WebSocket handshake request đến server
Để thiết lập kết nối websocket, cần nâng cấp máy khách mà máy chủ từ giao thức HTTP để giao thức Websocket có thể bắt tay được thể hiện như hình dưới đây
Hình 2.2 Bắt tay trong websocket
2.2.2 Giao diện WebSocket
2.2.3 Sử dụng API WebSocket
2.2.3.1 Hỗ trợ kiểm tra trình duyệt
Hình 2.3 Kiểm tra hỗ trợ trình duyệt trong Google Chrome
2.2.3.2 Các API cơ bản
Tạo một đối tượng WebSocket và kết nối đến một máy chủ Websocket
Thêm một sự kiện người nghe
Gửi các thông điệp