1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xây dựng website hỗ trợ đăng ký tuyển sinh trực tuyến của trường cao đẳng xây dựng nam định

63 13 0

Đ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 63
Dung lượng 2,66 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Chính vì vậy, luận văn đã lựa chọn đã lựa chọn tìm hiu về ngôn ngữ lập trình web PHP, cơ sở dữ liệu MySQL và Cloud Computing với ứng dụng dịch vụ Google App Engine để xây dựng website hỗ

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

──────── * ───────

Phạm Thị Vui

XÂY DỰNG WEBSITE HỖ TRỢ ĐĂNG KÝ TUYỂN SINH TRỰC TUYẾN CỦA TRƯỜNG CAO ĐẲNG XÂY DỰNG NAM ĐỊNH

LUẬN VĂN THẠC SĨ KỸ THUẬT NGÀNH CÔNG NGHỆ THÔNG TIN

Hà Nội - Năm 2016

Trang 2

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

──────── * ───────

Phạm Thị Vui

XÂY DỰNG WEBSITE HỖ TRỢ ĐĂNG KÝ TUYỂN SINH TRỰC TUYẾN CỦA TRƯỜNG CAO ĐẲNG XÂY DỰNG NAM ĐỊNH

LUẬN VĂN THẠC SĨ KỸ THUẬT NGÀNH CÔNG NGHỆ THÔNG TIN

Người hướng dẫn khoa học: TS Nguyễn Thanh Hùng

Hà Nội - Năm 2016

Trang 3

3

MỤC LỤC

Trang

LỜI CẢM ƠN 5

LỜI CAM ĐOAN 6

DANH MỤC CÁC TỪ VIẾT TẮT 7

DANH MỤC HÌNH ẢNH 8

DANH MỤC CÁC BẢNG 9

MỞ ĐẦU 10

1 Đặt vấn đề 10

2 Đối tượng nghiên cứu 11

3 Phạm vi và phương pháp nghiên cứu 11

4 Nội dung luận văn 11

CHƯƠNG 1 CƠ SỞ LÝ THUYẾT VÀ CÔNG NGHỆ ỨNG DỤNG 12

1.1 Ngôn ngữ lập trình Web PHP 12

1.1.1 Khái niệm PHP 12

1.1.2 Tại sao nên dùng PHP 12

1.1.3 Hoạt động của PHP 13

1.1.4 Các loại thẻ PHP 14

1.1.5 Các kiểu dữ liệu: 14

1.1.6 Biến giá trị 15

1.1.9 Biểu thức 15

1.1.10 Các cấu trúc lệnh 15

1.1.11 Hàm: 15

1.1.12 Các toán tử: 15

1.1.13 Lớp và đối tượng 16

1.1.14 Tham chiếu: 16

1.1.15 MySQL và PHP: 17

1.2 Cơ sở dữ liệu MYSQL 18

1.2.1 Giới thiệu cơ sở dữ liệu: 18

1.2.2 Mục đích sử dụng cơ sở dữ liệu: 18

1.2.3 Các kiểu dữ liệu trong cơ sở dữ liệu MySQL 19

1.2.4 Các thao tác cập nhật dữ liệu: 21

1.2 5 Các hàm thông dụng trong MySQL 22

Trang 4

4

1.3 Tìm hiểu về Cloud Computing 23

1.3.1 Khái niệm Cloud Computing 23

1.3.2 Tính chất cơ bản 25

1.3.2 Các mô hình Cloud Computing 27

1.3.3 Kiến trúc Cloud Computing 31

1.3.4 Lợi ích và hạn chế của Cloud Computing 33

1.4 Ứng dụng cloud computing trên nền tảng Google App Engine 37

1.4.1 Tổng quan về Google App Engine 37

1.4.2 Mô hình kiến trúc và các dịch vụ của GAE 40

1.4.3 Hạn chế của Google App Engine 44

CHƯƠNG 2 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 45

2.1 Phân tích bài toán 45

2.2 Các yêu cầu đối với bài toán 45

2.3 Mô tả hệ thống 46

2.4 Đặc tả chức năng 48

2.4.1 Chức năng đăng nhập admin: 48

2.4.2 Chức năng đăng ký tuyển sinh 49

2.5 Biểu đồ Use – Case 50

2.6 Phân tích chức năng và lập biểu đồ Use – Case 50

2.6.1 Nhập dữ liệu đầu vào 50

2.6.2 Đăng nhập trang admin 51

2.6.3 Tra cứu thông tin 51

2.7 Biểu đồ trình tự hoạt động của hệ thống 52

CHƯƠNG 3 CÀI ĐẶT VÀ KẾT QUẢ ĐẠT ĐƯỢC 55

3.1 Kết quả website trên server 55

3.1.1 Trang đăng ký tuyển sinh 55

3.1.2 Trang admin: 55

3.2 Một số Modul, mã nguồn Javascrip dùng trong chương trình 58

3.2.1 Kết nối dữ liệu 58

3.2.2 Modul bằng Javascript 59

3.2 Triển khai trên Google App Engine 59

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 61

TÀI LIỆU THAM KHẢO 62

Trang 5

5

LỜI CẢM ƠN

Lời đầu tiên, em xin gửi lời cảm ơn và lòng biết ơn sâu sắc nhất đến TS Nguyễn Thanh Hùng đã tận tình hướng dẫn và chỉ bảo em trong suốt quá trình thực hiện luận văn tốt nghiệp

Em xin chân thành cảm ơn các thầy, cô trong trường Đại học Bách Khoa đã tạo mọi điều kiện thuận lợi cho em học tập và nghiên cứu

Em cũng xin gửi lời cảm ơn các bạn trong lớp CNTT-2014B đã ủng hộ và khuyến khích em trong suốt quá trình học tập tại trường

Cuối cùng, em xin được gửi lời cảm ơn vô hạn tới gia đình và bạn bè, những người đã luôn bên cạnh, giúp đỡ và động viên em trong suốt quá trình học tập cũng như trong suốt quá trình thực hiện khóa luận này

Em xin chân thành cảm ơn!

Trang 6

6

LỜI CAM ĐOAN

Tôi xin cam đoan rằng luận văn thạc sĩ kỹ thuật với đề tài “Xây dựng website

hỗ trợ đăng ký tuyển sinh trực tuyến của trường Cao đẳng Xây dựng Nam Định” là công trình nghiên cứu của riêng tôi, không sao chép lại của người khác Trong toàn

bộ nội dung của luận văn, những điều đã trình bày hoặc là của cá nhân tôi hoặc là được tổng hợp từ nhiều nguồn tài liệu Tất cả các nguồn tại liệu tham khảo đều có xuất xứ rõ ràng và hợp pháp

Tôi xin hoàn toàn chịu trách nhiệm và chịu mọi hình thức kỷ luật theo quy định cho lời cam đoan này

Hà Nội, tháng 10 năm 2016

Tác giả luận văn

Phạm Thị Vui

Trang 7

7

DANH MỤC CÁC TỪ VIẾT TẮT

STT Từ viết tắt Giải thích

10 IaaS Infrastructure as a Service

13 API Application Programming Interface

Trang 8

8

DANH MỤC HÌNH ẢNH

Hình 1.1 Sơ đồ hoạt động của PHP 14

Hình 1.2 Mọi thứ đều tập trung vào đám mây 23

Hình 1.3 Hình ảnh Cloud Computing 24

Hình 1.4 ĐTĐM “di cư” các nguồn tài nguyên lên mạng Internet 24

Hình 1.5 NIST Visual Model of Cloud Computing Definition 25

Hình 1.6 Các loại dịch vụ Cloud Computing 27

Hình 1.7 Mô hình SPI 28

Hình 1.8 Các mô hình triển khai điện toán đám mây 29

Hình 1.9 Mô hình Public Cloud 29

Hình 1.10 Mô hình Private Cloud 30

Hình 1.11 Kết hợp Public Cloud và Private Cloud 30

Hình 1.12 Triển khai ứng dụng trên Hybrid Cloud 31

Hình 1.13 Kiến trúc Cloud Computing 32

Hình 1.14: Những ưu điểm và khuyết điểm của ĐTĐM 36

Hình 1.15 Kiến trúc GAE 40

Hình 1.17 Sử dụng dịch vụ Memcache 42

Hình 1.18 Sử dụng dịch vụ URL Fetch 43

Hình 2.1 Quá trình hoạt động của hệ thống đối với User 47

Hình 2.2 Quá trình hoạt động hệ thống đối với Admin 48

Hình 2.3 Biểu đồ Use - Case 50

Hình 2.4 Biểu đồ tuần tự của use case đăng ký 52

Hình 2.5 Biểu đồ tuần tự của Admin 53

Hình 3.1 Biểu đăng ký tuyển sinh 55

Hình 3.2 Biểu đăng nhập hệ thống 56

Hình 3.3 Biểu cập nhật thông tin 56

Trang 9

9

DANH MỤC CÁC BẢNG

Bảng 1.1 Kiểu dữ liệu số nguyên 19

Bảng 1.2 Kiểu dữ liệu số chấm động 19

Bảng 1.3 Kiểu dữ liệu số nguyên 20

Bảng 1.4 Kiểu dữ liệu số string 21

Trang 10

10

MỞ ĐẦU

1 Đặt vấn đề

Với sự phát triển mạnh của công nghệ thông tin hiện nay, Internet ngày càng

giữ vai trò quan trọng trong các lĩnh vực khoa học kĩ thuật và đời sống Dĩ nhiên các

bạn đã được nghe nói nhiều về Internet, nói một cách đơn giản, Internet là một tập

hợp máy tính nối kết với nhau, là một mạng máy tính toàn cầu mà bất kì ai cũng có

thể kết nối bằng máy tính của họ Với mạng Internet, tin học thật sự tạo nên một cuộc

cách mạng trao đổi thông tin trong mọi lĩnh vực văn hóa, xã hội, chính trị, kinh tế

Trong thời buổi ngày nay mọi thông tin gần như đều được đưa lên mạng Internet

mọi người có thể xem, cập nhật, trao đổi thông tin trên đó giúp cho công việc nhanh

hơn tiện hơn chính xác hơn Mọi người cũng có thể giải trí, lưu trữ thông tin một cách

an toàn dễ dàng …

Trước nhu cầu cấp thiết của Nhà trường (nơi em đang công tác) cần có công cụ

giao tiếp giữa ban tuyển sinh với học sinh, sinh viên Ban tuyển sinh có được thông

chi tiết của thí sinh nhằm tư vấn, giải đáp các mối quan tâm của thí sinh, đồng thời

tiện lợi cho việc quản lý hồ sơ đăng ký tuyển sinh Bên cạnh đó, tạo con đường nhanh

nhất, dễ dàng nhất, và chính xác nhất khi thí sinh gửi các thông tin đăng ký tuyển sinh

đến nhà trường - thay thế cách gửi qua đường bưu điện thông thường Đặc biệt, người

đăng ký dễ dàng truy cập cũng như tra cứu các thông tin của mình

Bên cạnh đó, cách thức xây dựng một hệ thống web truyền thống đã có thể đáp

ứng tốt cho yêu cầu của bài toán tuyển sinh Tuy nhiên trong quá trình phân tích, tìm

hiểu, em có nhìn thấy một số vấn đề sau: việc sử dụng hệ thống tuyển sinh chỉ tập trung

vào một giai đoạn ngắn trong năm, và số lượng truy cập tại thời điểm đó thường rất

cao, điều đó dẫn đến bài toán nâng cấp cơ sở hạ tầng, mà cụ thể là phía máy chủ Để

đáp ứng tốt được số lượng truy cập lớn thì chi phí cho server là lớn, tuy nhiên thì ngoài

thời gian tuyển sinh, tài nguyên server sẽ không được sử dụng hết, dẫn đến lãng phí

Trang 11

11

Do đó, đáp ứng yêu cầu của bài toán thực tế trên và sự phát triển của công nghệ web đặc biệt là mã nguồn mở PHP; MySQL đồng thời sử dụng nền tảng điện toán đám mây sẽ làm thuận lợi hơn cho quá trình xây dựng các chương trình, ứng dụng phục vụ công tác sau này Chính vì vậy, luận văn đã lựa chọn đã lựa chọn tìm hiu về ngôn ngữ lập trình web PHP, cơ sở dữ liệu MySQL và Cloud Computing với ứng dụng dịch vụ Google App Engine để xây dựng website hỗ trợ tuyển sinh của trường Cao đẳng Xây dựng Nam Định

2 Đối tượng nghiên cứu

- Nghiên cứu quy chế tuyển sinh của Bộ Giáo dục và Đào tạo nói chung và quy chế, hình thức tuyển sinh cụ thể của trường Cao đẳng Xây dựng Nam Định

- Nghiên cứu về ngôn ngữ lập trình web PHP

- Nghiên cứu cơ sở dữ liệu My SQL

- Nghiên cứu về Cloud Computer cụ thể về dịch vụ Google App Engine của Google

3 Phạm vi và phương pháp nghiên cứu

Hiện nay có rất nhiều công nghệ hỗ trợ cho việc phát triển Website Trong phạm

vi luận văn này, tác giả luận văn kết hợp sử dụng các phương pháp nghiên cứu là

“Nghiên cứu lý thuyết” và “Nghiên cứu thực nghiệm” tập trung nghiên cứu các công nghệ: Google App Engine, PHP và MySQL

Trong luận văn, tác giả luận văn có xây dựng một Website được viết bằng ngôn ngữ lập trình PHP; Website đó sử dụng cơ sở dữ liệu MySQL hoặc Google Cloud SQL; Website đó chạy trên nền tảng web server là Google App Engine

4 Nội dung luận văn

Luận văn được bố cục như sau:

Mở đầu

Chương 1: Cơ sở lý thuyết và các công nghệ sử dụng

Chương 2: Phân tích và thiết kế hệ thống

Chương 3: Cài đặt và kết quả đạt được

Kết luận và hướng phát triển

Trang 12

12

CHƯƠNG 1 CƠ SỞ LÝ THUYẾT VÀ CÔNG NGHỆ ỨNG DỤNG 1.1 Ngôn ngữ lập trình Web PHP

1.1.1 Khái niệm PHP

PHP là chữ viết tắt của “Personal Home Page” do Ramus Lerdorf tạo ra năm

1994 Vì tính hữu dụng của nó và khả năng phát triển, PHP bắt đầu được sử dụng trong môi trường chuyên nghiệp và nó trở thành “PHP: Hypertext Preprocessor”

Thực chất PHP là ngôn ngữ kịch bản nhúng trong HTML, nói một cách đơn giản đó là một trang HTML có nhúng mã PHP, PHP có thể được đặt rải rác trong HTML

PHP là một ngôn ngữ lập trình được kết nối chặt chẽ với máy chủ, là một công nghệ phía máy chủ (Server-Side) và không phụ thuộc vào môi trường (cross-platform) Đây là hai yếu tố rất quan trọng, thứ nhất khi nói công nghệ phía máy chủ tức là nói đến mọi thứ trong PHP đều xảy ra trên máy chủ, thứ hai, chính vì tính chất không phụ thuộc môi trường cho phép PHP chạy trên hầu hết trên các hệ điều hành như Windows, Unix và nhiều biến thể của nó Đặc biệt các mã kịch bản PHP viết trên máy chủ này sẽ làm việc bình thường trên máy chủ khác mà không cần phải chỉnh sửa hoặc chỉnh sửa rất ít

Khi một trang Web muốn được dùng ngôn ngữ PHP thì phải đáp ứng được tất

cả các quá trình xử lý thông tin trong trang Web đó, sau đó đưa ra kết quả ngôn ngữ HTML

Khác với ngôn ngữ lập trình, PHP được thiết kế để chỉ thực hiện điều gì đó sau khi một sự kiện xảy ra (ví dụ, khi người dùng gửi một biểu mẫu hoặc chuyển tới một URL)

1.1.2 Tại sao nên dùng PHP

Để thiết kế Web động có rất nhiều ngôn ngữ lập trình khác nhau để lựa chọn, mặc dù cấu hình và tính năng khác nhau nhưng chúng vẫn đưa ra những kết quả giống

Trang 13

13

nhau Chúng ta có thể lựa chọn cho mình một ngôn ngữ: ASP, PHP, Java, và một

số loại khác nữa Vậy tại sao chúng ta lại nên chọn PHP Rất đơn giản, có những lí

do sau mà khi lập trình Web chúng ta không nên bỏ qua sự lựa chọn tuyệt vời này

PHP có khả năng thực hiện và tích hợp chặt chẽ với hầu hết các cơ sở dữ liệu

có sẵn, tính linh động, bền vững và khả năng phát triển không giới hạn

Đặc biệt PHP là mã nguồn mở do đó tất cả các đặc tính trên đều miễn phí, và chính vì mã nguồn mở sẵn có nên cộng đồng các nhà phát triển Web luôn có ý thức cải tiến, nâng cao để khắc phục các lỗi trong các chương trình này

PHP vừa dễ với người mới sử dụng vừa có thể đáp ứng mọi yêu cầu của các lập trình viên chuyên nghiệp, mọi ý tưởng của các bạn PHP có thể đáp ứng một cách xuất sắc

Cách đây không lâu ASP vốn được xem là ngôn ngữ kịch bản phổ biến nhất, vậy mà bây giờ PHP đã bắt kịp ASP, bằng chứng là nó đã có mặt trên 12 triệu Website

1.1.3 Hoạt động của PHP

Vì PHP là ngôn ngữ của máy chủ nên mã lệnh của PHP sẽ tập trung trên máy chủ để phục vụ các trang Web theo yêu cầu của người dùng thông qua trình duyệt

Trang 14

Có 4 loại thẻ khác nhau mà bạn có thể sử dụng khi thiết kế trang PHP:

 Kiểu Short: Thẻ mặc định mà các nhà lập trình PHP thường sử dụng

 Kiểu đinh dạng XML: Thẻ này có thể sử dụng với văn bản định dạng XML

 Kiểu Script: Trong trường hợp bạn sử dụng PHP như một script tương tự khai báo JavaScipt hay VBScript:

 Kiểu ASP: Trong trường hợp bạn khai báo thẻ PHP như một phần trong

Máy chủ Web

Yêu cầu URL HTML

PHP

Gọi mã kịch bản HTML

Trang 15

1.1.10 Các cấu trúc lệnh

Cũng như các ngôn ngữ lập trình khác, PHP hỗ trợ các cấu trúc phổ biến như:

- Các lệnh tuần tự

- Các lệnh rẽ nhánh: if, if/else, if/elseif/elseif/…/else

- Các lệnh lặp (for, while/do, do/while)

Trang 16

16

Toán tử thao tác với bít: &, |, ^, ~, <<, >>

Toán tử so sánh: ==, !=, <, >, <=, >=, ===

Toán tử điều khiển lỗi: @ - khi đứng trước 1 biểu thức thì các lỗi của biểu thức

sẽ bị bỏ qua và lưu trong $PHP_errormsg

Tham chiếu PHP cho phép bạn tạo 2 biến có cùng nội dung

Ví dụ:

Trang 17

17

$a=&$b; ==> $a, $b trỏ tới cùng một giá trị

Tham chiếu truyền giá trị bằng tham chiếu Thực hiện việc này bằng cách tạo một hàm cục bộ và truyền giá trị được tham chiếu

Để thực hiện một câu lệnh truy vấn, dùng hàm mysql_query(query, link) Giá trị trả lại của hàm là kết quả của câu truy vấn Nếu bỏ qua link thì kết nối cuối cùng tới MySQL server sẽ được thực hiện

Để lấy kết quả thực hiện, ta có thể dùng hàm mysql_result(), mysql_fetch_row(), mysql_fetch_array(), mysql_fetch_object()

* mysql_fetch_row():Trả về một mảng các dữ liệu lấy từ 1 dòng trong CSDL

Nếu đã ở cuối CSDL, giá trị trả về là false Bạn phải dùng chỉ số của các trường trong CSDL nếu muốn lấy dữ liệu

*mysql_fetch_array(int result[, int result_type]): Trả về một mảng chứa dữ liệu

lấy từ một dòng trong CSDL Tương tự như mysql_fetch_row() nhưng bạn có thể lấy thêm trường để lấy dữ liệu

*mysql_fetch_object: Chuyển kết quả thành một đối tượng với các trường là

các trường trong cơ sở dữ liệu

Trang 18

18

1.2 Cơ sở dữ liệu MYSQL

1.2.1 Giới thiệu cơ sở dữ liệu:

MySQL là ứng dụng cơ sở dữ liệu mã nguồn mở phổ biến nhất hiện nay (theo www mysql com) và được sử dụng phối hợp với PHP Trước khi làm việc với MySQL cần xác định các nhu cầu cho ứng dụng

MySQL là cơ sở dữ có trình giao diện trên Windows hay Linux, cho phép

người sử dụng có thể thao tác các hành động liên quan đến nó Việc tìm hiểu từng

công nghệ trước khi bắt tay vào việc viết mã kịch bản PHP, việc tích hợp hai công nghệ PHP và MySQL là một công việc cần thiết và rất quan trọng

 Truy cập: Truy cập dữ liệu phụ thuộc vào mục đích và yêu cầu của người sử dụng, ở mức độ mang tính cục bộ, truy cập cơ sỏ dữ liệu ngay trong cơ sở dữ liệu với nhau, nhằm trao đổi hay xử lí dữ liệu ngay bên trong chính nó, nhưng do mục đích

và yêu cầu người dùng vượt ra ngoài cơ sở dữ liệu, nên bạn cần có các phương thức truy cập dữ liệu giữa các cơ sở dử liệu với nhau như: Microsoft Access với SQL Server, hay SQL Server và cơ sở dữ liệu Oracle

 Tổ chức: Tổ chức cơ sở dữ liệu phụ thuộc vào mo hình cơ sở dữ liệu, phân tích

và thiết kế cơ sở dữ liệu tức là tổ chức cơ sở dữ liệu phụ thuộc vào đặc điểm riêng của từng ứng dụng Tuy nhiên khi tổ chức cơ sở dữ liệu cần phải tuân theo một số tiêu chuẩn của hệ thống cơ sở dữ liệu nhằm tăng tính tối ưu khi truy cập và xử lí

 Xử lí: Tùy vào nhu cầu tính toán và truy vấn cơ sở dữ liệu với các mục đích khác nhau, cần phải sử dụng các phát biểu truy vấn cùng các phép toán, phát biểu của

Trang 19

19

cơ sở dữ liệu để xuất ra kết quả như yêu cầu Để thao tác hay xử lí dữ liệu bên trong chính cơ sở dữ liệu ta sử dụng các ngôn ngữ lập trình như: PHP, C++, Java, Visual Basic

1.2.3 Các kiểu dữ liệu trong cơ sở dữ liệu MySQL

1.2.3.1 Loại dữ liệu numberic: bao gồm kiểu số nguyên và kiểu số chấm động

Kiểu dữ liệu số nguyên:

Tinyint -127->128 hay 0 255 1 Số nguyên rất nhỏ Smallint -32768->32767 hay 0 65535 2 Số nguyên nhỏ

Mediumint -8388608->838860 hay 0

16777215

3 Số nguyên vừa

Bigint -263->263-1 hay 0 264-1 8 Số nguyên lớn

Bảng 1.1 Kiểu dữ liệu số nguyên

Kiểu dữ liệu số chấm động

Loại Range Bytes Diễn giải

Float phụ thuộc số thập phân 4 Số thập phân dạng

Single hay Double Float(M, D)

Kiểu dữ liệu Date and Time cho phép bạn nhập dữ liệu dưới dạng chuỗi ngày tháng hay dạng số

Dữ liệu kiểu số nguyên

Trang 20

20

Date 1000-01-01 Date trình bày dưới dạng

Kiểu dữ liệu String chia làm 3 loại:loại thứ nhất như char (chiều dài cố định)

và varchar (chiều dài biến thiên); loại thứ hai là Text hay Blob, Text cho phép lưu chuỗi rất lớn, Blob cho phép lưu đối tượng nhị phân; loại thứ ba là Enum và Set Kiểu dữ liệu String

Char 1-255 characters Chiều dài của chuỗi lớn nhất 255 ký tự Varchar 1-255 characters Chiều dài của chuỗi lớn nhất 255 ký tự

Tinyblob 28-1 Khai báo cho Field chứa kiểu đối tượng

nhị phân cỡ 255 characters Tinytext 28-1 Khai báo cho Field chứa kiểu chuỗi cỡ 255

Trang 21

21

Bảng 1.4 Kiểu dữ liệu số string

1.2.4 Các thao tác cập nhật dữ liệu:

 SELECT (Truy vấn mẫu tin):Select dùng để truy vấn từ một hay nhiều bảng

khác nhau, kết quả trả về là một tập mẫu tin thỏa mãn các điều kiện cho trước nếu có,

cú pháp của phát biểu SQL dạng SELECT như sau:

SELECT<danh sách các cột>

[FROM<danh sách bảng>]

[WHERE<các điều kiện ràng buộc>]

[GROUP BY<tên cột/biểu thức trong SELECT>]

[HAVING<điều kiện bắt buộc của GROUP BY>]

[ORDER BY<danh sách các cột>]

[LIMIT FromNumber |ToNumber]

 INSERT(Thêm mẫu tin):

Cú pháp:INSERT INTO Tên_bảng VALUES(Bộ_giá_trị)

 UPDATE(Cập nhật dữ liệu):

Cú pháp:UPDATE TABLE Tên_bảng

SET Tên_cột=Biểu_thức,

[WHERE Điều_kiện]

 DELETE(Xóa mẫu tin):

Mediumblob 224-1 Khai báo cho Field chứa kiểu blob vừa

khoảng 16, 777, 215 characters Mediumtext 224-1 Khai báo cho Field chứa kiểu chuỗi dạng

văn bản vừa khoảng 16, 777, 215 characters

Longblob 232-1 Khai báo cho Field chứa kiểu blob lớn

khoảng 4, 294, 967, 295 characters

Longtext 232-1 Khai báo cho Field chứa kiểu chuỗi dạng

văn bản lớn khoảng 4, 294, 967, 295 characters

Trang 22

22

Cú pháp:DELETE FROM Tên_bảng

[WHERE Điều_kiện]

1.2 5 Các hàm thông dụng trong MySQL

1.2.5 1 Các hàm trong phát biểu GROUP BY

 Hàm AVG: Hàm trả về giá trị bình quân của cột hay trường trong câu truy vấn

 Hàm MIN: Hàm trả về giá trị nhỏ nhất của cột hay trường trong câu truy vấn

 Hàm MAX: Hàm trả về giá trị lớn nhất của cột hay trường trong câu truy vấn

 Hàm Count: Hàm trả về số lượng mẩu tin trong câu truy vấn

 Hàm Sum: Hàm trả về tổng các giá trị của trường, cột trong câu truy vấn

1.2.5 2 Các hàm xử lí chuỗi:

 Hàm ASCII:Hàm trả về giá trị mã ASCII của kí tự bên trái của chuỗi

 Hàm Char:Hàm này chuyển đổi kkiểu mã ASCII từ số nguyên sang dạng chuỗi

 Hàm UPPER:Hàm này chuyển đổi chuỗi sang kiểu chữ hoa

 Hàm LOWER:Hàm này chuyển đổi chuỗi sang kiểu chữ thường

 Hàm Len:Hàm này trả về chiều dài của chuỗi

 Thủ tục LTRIM:Thủ tục loại bỏ khỏang trắng bên trái của chuỗi

 Thủ tục RTRIM:Thủ tục loại bỏ khỏang trắng bên phải của chuỗi

 Hàm Left(str, n):Hàm trả về chuỗi bên trái tính từ đầu cho đến vị trí n

 Hàm Right(str, n):Hàm trả về chuỗi bên phải tính từ đầu cho đến vị trí n

 Hàm Instrt:Hàm trả về chuỗi vị trí bắt đầu của chuỗi con trong chuỗi xét

1.2.5 3 Các hàm xử lí về thời gian

 Hàm CurDate():Hàm trả về ngày, tháng và năm hiện hành của hệ thống

 Hàm CurTime():Hàm trả về giờ, phút và giây hiện hành của hệ thống

 Hàm Period_Diff: Hàm trả về số ngày trong khoảng thời gian giữa 2 ngày

 Hàm dayofmonth: Hàm trả về ngày thứ mấy trong tháng

1.2.5 4 Các hàm về toán học

 Hàm Sqrt: Hàm trả về là căn bậc hai của một biểu thức

 Hàm CurDate(): Hàm trả về ngày, tháng và năm hiện hành của hệ thống

Trang 23

23

1.3 Tìm hiểu về Cloud Computing

Website (http://tuyensinh.cdxdnd.edu.vn/) đăng ký tuyển sinh xây dựng trên PHP đã được triển khai trên host Tuy nhiên, do website thường hoạt động vào thời điểm thí sinh đăng ký tuyển sinh các trường cao đẳng, đại học trên cả nước Do đó, tác giả xin đề xuất ứng dụng Cloud computing trên nền tảng Google App Engine để giảm thiểu chi phí cũng như khai thác hiệu quả ứng dụng cloud computing

1.3.1 Khái niệm Cloud Computing

Theo định nghĩa của Wikipedia thì Cloud Computing là môi trường tính toán dựa trên internet mà ở đó tất cả phần mềm, dữ liệu, tài nguyên được cung cấp cho máy tính và các thiết bị khác theo nhu cầu (tương tự như mạng điện)

Hình 1.2 Mọi thứ đều tập trung vào đám mây (Nguồn http://infreemation.net/cloud-computing-linear-utility-or-complex-ecosystem/

Đứng ở góc nhìn khoa học kỹ thuật cũng có nhiều định nghĩa khác nhau, trong

đó có hai định nghĩa của Ian Foster và Rajkumar Buyya được dùng khá phổ biến và

có nhiều điểm tương đồng

Theo tác giả Ian Foster (2008, Cloud Computing and Grid Computing Degree Compared): Cloud Computing là một mô hình điện toán phân tán có tính co giãn lớn mà hướng theo co giãn về mặt kinh tế, là nơi chứa các sức mạnh tính toán, kho lưu trữ, các nền tảng và các dịch vụ được trực quan, ảo hóa và co giãn linh động,

360-sẽ được phân phối theo nhu cầu cho các khách hàng bên ngoài thông qua Internet

Trang 24

24

Theo tác giả Rajkumar Buyya (2008, Market-Oriented Cloud Computing): Cloud

là một loại hệ thống phân bố và xử lý song gồm các máy tính ảo kết nối với nhau và được cung cấp động cho người dùng như một hoặc nhiều tài nguyên đồng nhất dựa trên sự thỏa thuận dịch vụ giữa nhà cung cấp và người sử dụng

Hình 1.3 Hình ảnh Cloud Computing (Nguồn: Sun Microsystems(2009), Sun Cloud Computing)

Cả hai định nghĩa trên đều định nghĩa Cloud Computing là một hệ phân bố, cung cấp các dạng tài nguyên ảo dưới dạng dịch vụ một cách linh động theo nhu cầu của người dùng trên môi trường internet

Hình 1.4 Cloud Computing “di cư” các nguồn tài nguyên lên mạng Internet

(Nguồn: Sun Microsystems(2009), Sun Cloud Computing)

Trang 25

25

Theo Viện tiêu chuẩn và công nghệ quốc gia Bộ Thương mại Mỹ (NIST):

Điện toán đám mây là một mô hình cho phép truy cập mạng thuận tiện, theo nhu cầu đến một kho tài nguyên điện toán dùng chung, có thể định cấu hình (ví dụ như mạng, máy chủ, lưu trữ, ứng dụng) có thể được cung cấp và thu hồi một cách nhanh chóng với yêu cầu tối thiểu về quản lý hoặc can thiệp của nhà cung cấp dịch vụ

1.3.2 Tính chất cơ bản

Cloud Computing có năm tính chất nổi bật so với mô hình truyền thống

(Nguồn http://maychuao.com.vn)

Hình 1.5 NIST Visual Model of Cloud Computing Definition

(Nguồn: Sun Microsystems(2009), Sun Cloud Computing) 1.3.2.1 Tự phục vụ theo nhu cầu (On-demand self-service)

Mỗi khi có nhu cầu, người dùng chỉ cần gửi yêu cầu thông qua trang web cung cấp dịch vụ, hệ thống của nhà cung cấp sẽ đáp ứng yêu cầu của người dùng Người dùng có thể tự phục vụ yêu cầu của mình như tăng thời gian sử dụng server, tăng dung lượng lưu trữ… mà không cần phải tương tác trực tiếp với nhà cung cấp dịch

vụ, mọi nhu cầu về dịch vụ đều được xử lý trên môi trường web (internet)

1.3.2.2 Truy xuất diện rộng (Broad network access)

Cloud Computing cung cấp các dịch vụ thông qua môi trường internet Do

đó, người dùng có kết nối internet là có thể sử dụng dịch vụ Hơn nữa, Cloud Computing ở dạng dịch vụ nên không đòi hỏi khả năng xử lý cao ở phía client, vì vậy

Trang 26

26

người dùng có thể truy xuất bằng các thiết bị di dộng như điện thoại, PDA, laptop… Với Cloud Computing người dùng không còn bị phụ thuộc vị trí nữa, họ có thể truy xuất dịch vụ từ bất kỳ nơi nào, vào bất kỳ lúc nào có kết nối internet

1.3.2.3 Dùng chung tài nguyên (Resource pooling)

Tài nguyên của nhà cung cấp dịch vụ được dùng chung, phục vụ cho nhiều người dùng dựa trên mô hình “multi-tenant” Trong mô hình “multi-tenant”, tài nguyên sẽ được phân phát động tùy theo nhu cầu của người dùng Khi nhu cầu của một khách hàng giảm xuống, thì phần tài nguyên dư thừa sẽ được tận dụng để phục

vụ cho một khách hàng khác

Cloud Computing dựa trên công nghệ ảo hóa, nên các tài nguyên đa phần là tài nguyên ảo Các tài nguyên ảo này sẽ được cấp phát động theo sự thay đổi nhu cầu của từng khách hàng khác nhau Nhờ đó nhà cung cấp dịch vụ có thể phục vụ nhiều khách hàng hơn so với cách cấp phát tài nguyên tĩnh truyền thống

1.3.2.4 Khả năng co giãn (Rapid elasticity)

Đây là tích chất đặc biệt nhất, nổi bật nhất và quan trọng nhất của Cloud Computing Đó là khả năng tự động mở rộng hoặc thu nhỏ hệ thống tùy theo nhu cầu của người dùng Khi nhu cầu tăng cao, hệ thống sẽ tự mở rộng bằng cách thêm tài nguyên vào Khi nhu cầu giảm xuống, hệ thống sẽ tự giảm bớt tài nguyên

Khả năng co giãn giúp cho nhà cung cấp sử dụng tài nguyên hiệu quả, tận dụng triệt để tài nguyên dư thừa, phục vụ được nhiều khách hàng Đối với người sử dụng dịch vụ, khả năng co giãn giúp họ giảm chi phí do họ chỉ trả phí cho những tài nguyên thực sự dùng

1.3.2.5 Điều tiết dịch vụ (Measured service)

Hệ thống Cloud Computing tự động kiểm soát và tối ưu hóa việc sử dụng tài nguyên (dung lượng lưu trữ, đơn vị xử lý, băng thông…) Lượng tài nguyên sử dụng

có thể được theo dõi, kiểm soát và báo cáo một cách minh bạch cho cả hai phía nhà cung cấp dịch vụ và người sử dụng

Trang 27

27

1.3.2 Các mô hình Cloud Computing

Các mô hình Cloud Computing được phân thành hai loại:

- Các mô hình dịch vụ (Service Models): Phân loại các dịch vụ của các nhà cung cấp dịch vụ Cloud Computing

- Các mô hình triển khai (Deployment Models): Phân loại cách thức triển khai dịch vụ

Cloud Computing đến với khách hàng

1.3.2.1 Mô hình dịch vụ

Hiện tại có rất nhiều nhà cung cấp dịch vụ Cloud Computing cung cấp nhiều loại dịch vụ khác nhau Tuy nhiên có ba loại dịch vụ Cloud Computing cơ bản là: dịch vụ cơ sở hạ tầng (Infrastructure as a Service – IaaS), dịch vụ nền tảng (Platform

as a Service – PaaS) và dịch vụ phần mềm (Software as a Service – SaaS) Cách phân loại này thường được gọi là “mô hình SPI”

Hình 1.6 Các loại dịch vụ Cloud Computing

(Nguồn: Sun Microsystems(2009), Sun Cloud Computing)

 Infrastructure as a Service – IaaS

Infrastructure as a service (IaaS) là tầng thấp nhất của Điện toán đám mây, nơi tập hợp các tài sản vật lý như các phần cứng máy chủ, hệ thống lưu trữ và các thiết bị mạng, được chia sẻ và cung cấp dưới dạng dịch vụ IaaS cho các tổ chức hay doanh nghiệp khác nhau Cũng giống như dịch vụ PaaS, ảo hóa là công nghệ được

sử dụng rộng rãi để tạo ra cơ chế chia sẻ và phân phối các nguồn tài nguyên theo yêu cầu Ví dụ về các dịch vụ IaaS như IBM BlueHouse, Vmware, Amazon EC2,

Trang 28

28

Microsoft Azure Platform, Sun Parascale Cloud Storage…

 Platform as a Service – PaaS

Nhà cung cấp dịch vụ sẽ cung cấp một nền tảng (platform) cho khách hàng Khách hàng sẽ tự phát triển ứng dụng của mình nhờ các công cụ và môi trường phát triển được cung cấp hoặc cài đặt các ứng dụng sẵn có trên nền platform đó Khách hàng không cần phải quản lý hoặc kiểm soát các cơ sở hạ tầng bên dưới bao gồm cả mạng, máy chủ, hệ điều hành, lưu trữ, các công cụ, môi trường phát triển ứng dụng nhưng quản lý các ứng dụng mình cài đặt hoặc phát triển

 Software as a Service – SaaS

Đây là mô hình dịch vụ mà trong đó nhà cung cấp dịch vụ sẽ cung cấp cho khách hàng một phần mềm dạng dịch vụ hoàn chỉnh Khách hàng chỉ cần lựa chọn ứng dụng phần mềm nào phù hợp với nhu cầu và chạy ứng dụng đó trên cơ sở hạ tầng Cloud Mô hình này giải phóng người dùng khỏi việc quản lý hệ thống, cơ sở

hạ tầng, hệ điều hành… tất cả sẽ do nhà cung cấp dịch vụ quản lý và kiểm soát để đảm bảo ứng dụng luôn sẵn sàng và hoạt động ổn định

Hình 1.7 Mô hình SPI (Nguồn: Sun Microsystems(2009), Sun Cloud Computing) 1.3.2.2 Mô hình triển khai

Cho dù sử dụng loại mô hình dịch vụ nào đi nữa thì cũng có ba mô hình triển khai chính là: Public Cloud, Private Cloud và Hybrid Cloud

Trang 29

29

Hình 1.8 Các mô hình triển khai Cloud Computing

(Nguồn: Sun Microsystems(2009), Sun Cloud Computing)

 Public Cloud

Các dịch vụ Cloud được nhà cung cấp dịch vụ cung cấp cho mọi người sử dụng rộng rãi Các dịch vụ được cung cấp và quản lý bởi một nhà cung cấp dịch vụ

và các ứng dụng của người dùng đều nằm trên hệ thống Cloud

Người sử dụng dịch vụ sẽ được lợi là chi phí đầu tư thấp, giảm thiểu rủi ro

do nhà cung cấp dịch vụ đã gánh vác nhiệm vụ quản lý hệ thống, cơ sở hạ tầng, bảo mật… Một lợi ích khác của mô hình này là cung cấp khả năng co giãn (mở rộng hoặc thu nhỏ) theo yêu cầu của người sử dụng

Hình 1.9 Mô hình Public Cloud (Nguồn: Sun Microsystems(2009), Sun Cloud Computing)

Tuy nhiên Public Cloud có một trở ngại, đó là vấn đề mất kiểm soát về dữ liệu và vấn đề an toàn dữ liệu Trong mô hình này mọi dữ liệu đều nằm trên dịch vụ Cloud, do nhà cung cấp dịch vụ Cloud đó bảo vệ và quản lý Chính điều này khiến cho khách hàng, nhất là các công ty lớn cảm thấy không an toàn đối với những dữ

Trang 30

30

liệu quan trọng của mình khi sử dụng dịch vụ Cloud

 Private Cloud

Trong mô hình Private Cloud, cơ sở hạ tầng và các dịch vụ được xây dựng

để phục vụ cho một tổ chức (doanh nghiệp) duy nhất Điều này giúp cho doanh nghiệp có thể kiểm soát tối đa đối với dữ liệu, bảo mật và chất lượng dịch vụ Doanh nghiệp sở hữu cơ sở hạ tầng và quản lý các ứng dụng được triển khai trên đó Private Cloud có thể được xây dựng và quản lý bởi chính đội ngũ IT của doanh nghiệp hoặc

có thể thuê một nhà cung cấp dịch vụ đảm nhiệm công việc này

Hình 1.10 Mô hình Private Cloud (Nguồn: Sun Microsystems(2009), Sun Cloud Computing)

 Hybrid Cloud

Như chúng ta đã phân tích ở trên, Public Cloud dễ áp dụng, chi phí thấp nhưng không an toàn Ngược lại, Private Cloud an toàn hơn nhưng tốn chi phí và khó áp dụng Do đó nếu kết hợp được hai mô hình này lại với nhau thì sẽ khai thác

ưu điểm của từng mô hình Đó là ý tưởng hình thành mô hình Hybrid Cloud

Hình 1.11 Kết hợp Public Cloud và Private Cloud

(Nguồn: Sun Microsystems(2009), Sun Cloud Computing)

Hybrid Cloud là sự kết hợp của Public Cloud và Private Cloud Trong đó doanh

Trang 31

31

nghiệp sẽ “out-source” các chức năng nghiệp vụ và dữ liệu không quan trọng, sử dụng các dịch vụ Public Cloud để giải quyết và xử lý các dữ liệu này Đồng thời, doanh nghiệp sẽ giữ lại các chức năng nghiệp vụ và dữ liệu tối quan trọng trong tầm kiểm soát (Private Cloud)

Một khó khăn khi áp dụng mô hình Hybrid Cloud là làm sao triển khai cùng một ứng dụng trên cả hai phía Public và Private Cloud sao cho ứng dụng đó có thể kết nối, trao đổi dữ liệu để hoạt động một cách hiệu quả

Hình 1.12 Triển khai ứng dụng trên Hybrid Cloud

(Nguồn: Sun Microsystems(2009), Sun Cloud Computing)

Doanh nghiệp có thể chọn để triển khai các ứng dụng trên Public, Private hay Hybrid Cloud tùy theo nhu cầu cụ thể Mỗi mô hình đều có điểm mạnh và yếu của

nó Các doanh nghiệp phải cân nhắc đối với các mô hình Cloud Computing mà họ chọn Và họ có thể sử dụng nhiều mô hình để giải quyết các vấn đề khác nhau Nhu cầu về một ứng dụng có tính tạm thời có thể triển khai trên Public Cloud bởi vì nó giúp tránh việc phải mua thêm thiết bị để giải quyết một nhu cầu tạm thời Tương tự, nhu cầu về một ứng dụng thường trú hoặc một ứng dụng có những yêu cầu cụ thể về chất lượng dịch vụ hay vị trí của dữ liệu thì nên triển khai trên Private hoặc Hybrid Cloud

1.3.3 Kiến trúc Cloud Computing

Mỗi hãng cung cấp có một kiến trúc Cloud Computing riêng và phát triển theo thế mạnh của mình Kiến trúc thể hiện rõ được khả năng cung cấp tài nguyên nhờ công nghệ ảo hóa máy chủ, ảo hóa mạng và tự động hóa Từ đó có thể tiết kiệm được

Ngày đăng: 28/02/2021, 00:27

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1. [C01] Bareiss,R&amp;Sedano, T., 2011, “Improving Mobile Application Development”, 2nd Annual Workshop on Software Engineering for Mobille Application Development, MobiCASE’11 Santa Monica, CA, USA, 2011 Sách, tạp chí
Tiêu đề: Improving Mobile Application Development
1. Google, https://developers.google.com/appengine/, Google App Engine Link
4. Google, https://developers.google.com/appengine/docs/java/gettingstarted/, Java Link
5. Google https://congdonglaptrinhjava.wordpress.com/category/google-app-engine Link
1. [B01] Phạm Hữu Khang, Xây dựng ứng dụng Web bằng PHP &amp; MySQl_Nhà xuất bản Mũi Cà Mau, 2003: 12-15; 20-30; 67-74; 102-118; 128-134 Khác
2. [B02] Nguyễn Trường Sinh, Sử dụng PHP &amp; MySQL thiết kế Web động, Nhà xuất bản Thống Kê, 2005: 5-20; 163-169; 177-192 Khác
3. [B03] Nguyễn Anh Tài, Nguyễn Phương Duy, Phạm Thanh Phương, Báo cáo đề tài Cloud Computing, Đại Học Bách Khoa Tp.HCM: 3-5;11-25 Khác
4. [B04] Nguyễn Đức Thiện (2011), Điện toán đám mây và ứng dụng, Đại học Sư phạm - Đại học Quốc gia: 15-18; 22; 27-31 Khác
5. [B05] Borko Furht (2010), Hanbook of Cloud Computing, Springer: 21-45 6. [B06] Marcia Kaufman, Dr. Fern Halper, 2012, Cloud Services for Dummies.Judith Hurwitz. ISBN: 11-18;127;196 Khác
7. [B07] Dan Sanderson (2012), Programming Google App Engine, O'Reilly Media: 421-486 Khác
8. [B08] Ian Foster, Yong Zhao, Ioan Raicu, Shiyong Lu, 2008, Cloud Computing and Grid Computing 360-Degree Compared, Grid Computing Environments Workshop. 5-20 Khác
9. [B09] Rajkumar Buyya, Chee Shin Yeo, and Srikumar Venugopal, 2008, Market-Oriented Cloud Computing: Vision, Hype, and Reality for Delivering IT Services as Computing Utilities, International Conference on High Performance Computing. 3-10.B. Tạp chí Khác
2. [C02] Ramzi N.Sansour, Nidal Kafri, Muath N.Sabha, 2014, A servey on mobile multimedia application development frameworks – Multimedia Computing and Systems (ICMCS), 2014 International Conference.C. Web Khác

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w