Logo Google Cloud Platform

Một phần của tài liệu Khóa luận tốt nghiệp Kỹ thuật máy tính: Nhận diện khuôn mặt real-time với mô hình Facenet và ứng dụng IoT platform (Trang 45 - 54)

GCP có mục đích giúp người dùng giải quyết tat cả những vấn dé cần thiết

như là: Mobile, Developer, Management, Networking

Google Cloud Platform có mục đích giúp người dùng giải quyết tất cả những van dé cần thiết như là: Mobile developing, Management, Networking, Computer

Engine, Storage, Big Data,... Từ những lợi ích của Google Cloud platform mang lại

thi những doanh nghiệp này có thé tập trung làm những việc khác cần thiết dé phát triển doanh nghiệp hon mà không cần màng đến những hệ thống bên dưới.

Bên cạnh những dịch vụ trên, Google Cloud Platform còn mang đến sự khác biệt so với những nên tảng dịch vụ của Cloud khác. Đây chính là những dịch vụ được google đặt trực tiếp. Ở đây có một hệ thống dịch vu Datacenter với mức độ an toàn bảo mật di liệu cao nhất. Bên cạnh đó, Google Cloud Platform cũng đáp ứng được những tiêu chuẩn khắt khe nhất đối với 1 hệ thống điện toán đám mây.

Google Cloud Platform cung cấp bao gồm những sản phẩm chính sau đây:

- Services — Cloud Endpoints, Translate API, Prediction API

- Big Data— BigQuery, Cloud Dataflow, Cloud Dataproc, Cloud Pub/Sub

- Storage — Cloud Storage, Cloud Datastore, Cloud SQL, Cloud Bigtable

- Compute — App Engine, Compute Engine, Container Engine

Bên cạnh đó, Google Cloud Platform cung cấp những dich vu phát triển và tích hợp ứng dụng. Chăng hạn như là dịch vụ tin nhắn Google Cloud Pub/ Sub. Đây

là dịch vụ được quản lý, thời gian thực tế cho phép người dùng trao đổi tin nhắn giữa

các ứng dụng. Bên cạnh đó Google Cloud Endpoint còn cho phép những nhà phát

triển xây dựng những dịch vụ phụ thuộc vào những API RESTful. Tiếp theo, những nhà phát triển dịch vụ có thé truy cập được đối với khách hàng của Apple iOS,

JavaScript và Android. Những dịch vụ khác nữa như là máy chủ DNS Anycast. Có

chức năng kết nối mạng trực tiếp, khai thác, giám sát, cân bằng tải những dịch vụ.

Google Cloud Platform

Storage Services

Networking Big Data

— © Q ‘Cloud DNS

Cloud Data Storage Lode Bolonding Bộ Query ©

ite Engi

Compute Engine Psat) © & Cloud Endpoint

Cloud SQL Interconnect Data Flow

App Engine © © ® Cloud Translate

Cloud Storage Cloud Pub/SubDNS

Prediction

Hình 2-21 Những dịch vụ Google Cloud Platform cung cấp

- ToT là dịch vụ được viết tắt của từ Internet of things được google cung cấp:

Dịch vụ này cho phép người sử dụng quản lý và tiêu thụ dữ liệu từ những thiết

bị IoT một cách thuận lợi.

- Máy tìm kiếm đám mây hay còn là Cloud Machine Learning Engine để

phát triển ứng dụng AI (trí tuệ nhân tao) theo một phương pháp phổ biến vào những dịch vụ của google cung cấp. Mỗi dịch vụ được quản lý mang đến cho

người sử dụng xây dựng và đảo tạo những quy mô học máy. Nhờ vào việc sử

dụng dịch vụ này mà quá trình xử lý thông tin trở nên đơn giản hơn bao giờ

hết. Những API khác cũng có sẵn dé phân tích và dịch những video, hình ảnh, văn bản và lời thoại. Dịch vụ google Cloud cũng cung cấp những dịch vụ như Hadoop và Apache Spark bao gồm Google Cloud Dataproc dé dữ liệu được

xử ly dé dang hon và nhanh hơn.

- Google Cloud Dataflow chính là dịch vụ xử lý dữ liệu cho những công việc

phân tích, phục vụ cho các dự án tính toán theo thời gian thực tế, trích xuất, chuyển đổi và tải (ETL).

- Google BigQuery là 1 dịch vụ dữ liệu lớn của Google gồm những dịch vụ xử

lý dữ liệu và phân tích. Google BigQuery có chức năng để truy vấn tương tự công cụ SQL truyền thống được thực hiện đối với bộ dữ liệu nhiều terabyte. Trên thực tế việc lưu trữ những dữ liệu vô cùng cần thiết và quan trọng. Dữ liệu không những dừng lại ở những file có kích thước nhỏ mà còn có thé lên đến terabyte.

2.5.3. Firebase:

Firebase là một nền tảng thu gọn được Google phát triển và cung cấp. Firebase

hỗ trợ nhiều tính năng nổi bật mà hệ thống IoT cần thiết như:

-_ Flrestore.

- Realtime database.

- Hosting.

- Machine Learning.

Firebase sử dung giao thức HTTP dé kết nói đến thiết bị va trong luận văn nay

cụ thé là NodeMCU Esp32. Vì là một platform thu gọn nên giao thức truyền nhận của Firebase khá đơn giản và không cần đòi hỏi các key private hay public như các

platform khác

2.6. Cơ sở lý thuyết về Server

2.6.1. Giao thức MQTT

MQTT [9] (Message Queuing Telemetry Transport) là một giao thức gởi dạng

publish/subscribe sử dụng cho các thiết bị Internet of Things với băng thông thấp, độ tin cậy cao và khả năng được sử dụng trong mạng lưới không ổn định. Bởi vì giao thức này sử dụng băng thông thấp trong môi trường có độ trễ cao nên nó là một giao

thức lý tưởng cho các ứng dụng M2M.

Trong một hệ thống sử dụng giao thức MQTT, nhiều client kết nối với một server (Trong MQTT, server được gọi mà MQTT Broker). Mỗi client sẽ đăng ký theo

dõi các kênh thông tin (topic) hoặc gửi dữ liệu lên kênh thông tin đó. Quá trình đăng

ký này gọi là subscribe và hành động một client gửi dữ liệu lên kênh thông tin được

gọi là publish. Mỗi khi kênh thông tin đó được cập nhật dữ liệu (dữ liệu này có thể đến từ các client khác) thì những client nào đã đăng ký theo dõi kênh này sẽ nhận

được dữ liệu cập nhật đó.

Trong mô hình hệ thống của nhóm, server trong vai trò rất quan trọng vì nó là trung tâm để kết nối các phần lại với nhau. Server có nhiệm vụ nhận đữ liệu và lưu vào database server, cung cấp API dé các client có thé kết nói và giao tiếp với nhau.

An 5ì

<a

publish: “21°C* laptop

7 sơn,

temperature MQTT-Broker res—

sensor

Oe publish to mobile device

topic "temperature topic: “temperature”

Hình 2-22 Mô hình tong quan về MQTT

2.6.2. Các khải niệm cơ bản trong MQTT

Trong một hệ thống sử dụng giao thức MQTT, nhiều client kết nói tới một server (Trong MQTT, server được gọi là MQTT Broker). Mỗi client sẽ đăng ký theo dõi các

kênh thông tin (topic) hoặc gửi dữ liệu lên kênh thông tin đó. Quá trình đăng ký này

gọi là “subscribe” và hành động một client gửi dữ liệu lên kênh thông tin được gọi là

“publish”. Mỗi khi kênh thông tin đó được cập nhật dữ liệu (dữ liệu này có thể đến

từ các client khác) thì những client nào đã đăng ký theo dõi kênh này sẽ nhận được

dữ liệu cập nhật đó.

Trong giao thức MQTT, message còn được gọi là "message payload", có định

dạng mặc định là plain-text (chữ viết người đọc được), tuy nhiên người sử dụng có thể cấu hình thành các định dạng khác.

Topic có thể coi như một "đường truyền" logic giữa 2 điểm là publisher và subscriber. Về cơ bản, khi message được publish vào một topic thì tất cả những

subscriber của topic đó sẽ nhận được message này.

Giao thức MQTT cho phép khai báo các topic kiểu phân cấp. Giả sử chúng ta

có một hệ thống cảm biến đo thông tin môi trường trong ngôi nhà của chúng ta. Một

ngôi nhà thường sẽ có nhiều phòng và mỗi phòng lại có bộ cảm biến môi trường

riêng. Như vậy, các topic phục vụ truyền tải thông tin môi trường cho ngôi nhà của

chúng ta có thê được khai báo như sau:

Bên cạnh đó, MQTT cũng hộ trợ wildcards trong cú pháp khai báo topic, cụ thể đó là

"+" và "#", Trong đó, "+" bao gồm các topic ở cùng | level và "#" bao gồm tat cả các topic nằm dưới topic hiện tại.

MQTT có hỗ trợ 3 mức QoS, nhằm đảm bảo sự chắc chắn của truyền nhận dữ

liệu giữa client và broker:

- QoS-0 :Là mức đảm bảo thấp nhất, tat cả các message có QoS 0 sau khi

được gửi di bởi publisher sẽ không được kiểm tra xem đã đến broker hay

chưa (fire - and - forget)

- QoS-1 :Message được đảm bảo rằng đã đến nơi nhận ít nhất 1 lần (tức là

sự trùng lặp vẫn có thể xảy ra)

- Qo§-2 :Đây là mức đảm bảo cao nhất, broker sẽ đảm bao các message có

QoS-2 sẽ đến nơi nhận chỉ 1 lần duy nhất, không trùng lặp, không that lạc. Tất nhiên việc xác nhận với QoS-2 sẽ tốn băng thông hơn 2 cách còn lại.

- Retain : là một cờ (flag) được gắn cho một message của giao thức MQTT.

Retain chỉ nhận giá tri 0 hoặc 1 (tương ứng 2 giá tri logic false hoặc true).

Nếu retain = 1, broker sẽ lưu lại message cuối cùng của 1 topic kèm theo mức QoS tương ứng. Khi client bắt đầu subscribe topic có message được

lưu lại đó, client ngay lập tức nhận được message.

- MOQTT Bridge : là một tinh năng của MQTT Broker cho phép các MQTT

Broker có thé kết nối và trao đổi dé liệu với nhau. Để sử dụng tính năng này, ta cần tối thiểu 2 Broker, trong đó, một Broker bất kỳ sẽ được cấu hình

thành Bridge. Khi cấu hình MQTT bridge, ta cần lưu ý tới các thông số

sau:

o address: địa chỉ của broker cần kết nối

© bridge protocol_ version: phiên bản của giao thức MQTT dang sử dụng

chung cho 2 broker

© topic: phần này định nghĩa 3 thong số: tên topic được trao đổi giữa 2

broker, chiều trao đổi (1 chiều hay 2 chiều) và topic mapping giữa 2

broker

2.6.3. HyperText Transfer Protocol (HTTP)

HTTP (HyperText Transfer Protocol - Giao thức truyền tải siêu văn bản) là một trong các giao thức chuẩn về mang Internet, được dùng dé liên hệ thông tin giữa Máy cung cấp dịch vụ (Web server) và Máy sử dụng dich vụ (Web client), là giao

thức Client/Server dùng cho World Wide Web - WWW

HTTP là một giao thức ứng dụng của bộ giao thức TCP/IP (các giao thức nền tảng

cho Internet).

= k HTTP

cl —~ Request Message

~

HTTP Clients

(Web Browser) HITP over TCP/P HTTP Server (Web Server)

HTTP Response Message

Hình 2-23 So đồ hoạt động của HTTP

HTTP hoạt động dựa trên mô hình Client — Server. Trong mô hình này, các

máy tính của người dùng sẽ đóng vai trò làm máy khách (Client). Sau một thao tác

nao đó của người đùng, các máy khách sẽ gửi yêu cầu đến máy chủ (Server) và chờ

đợi câu trả lời từ những máy chủ này. HTTP là một stateless protocol. Hay nói cách khác,

request hiện tại không biết những gì đã hoàn thành trong request trước đó. HTTP cho phép tạo các yêu cầu gửi và nhận các kiểu đữ liệu, do đó cho phép xây dựng hệ thống độc lập với

dữ liệu được truyền giao.

2.6.4. Các thành phần chính của HTTP

HTTP — Requests:

HTTP Request Method: Là phương thức dé chi ra hành động mong muốn được thực

hiện trên tài nguyên đã xác định.

Cấu trúc của một HTTP Request:

- Một Request-line = Phương thức + URI-Request + Phiên bản HTTP.

Giao thức HTTP định nghĩa một tập các giao thức GET, POST, HEAD, PUT

... Client có thé sử dụng một trong các phương thức đó dé gửi request lên

server.

- Có thể có hoặc không các trường header

- Một dòng trống đề đánh dấu sự kết thúc của các trường Header.

o Request Header Fields: Các trường header cho phép client truyền

thông tin b6 sung về yêu cầu, và về chính client, đến server. Một số

trường: Accept-Charset, Accept-Encoding, Accept-Language, Authorization, Expect, From, Host, ...

Tùy chọn một thông điệp

Khi request đến server, server thực hiện một trong 3 hành động sau:

- Server phân tích request nhận được, maps yêu cầu với tập tin trong tập

tài liệu của server, và trả lại tập tin yêu cầu cho client.

- Server phân tích request nhận được, maps yêu cầu vào một chương trình

trên server, thực thi chương trình và trả lại kết quả của chương trình đó. -__ Nếu request từ client không thé đáp ứng, server trả lại thông báo lỗi.

GET /doe/test.html HTTP/1.1 > Request Line Host: wai test1@1. com )

Accept: image/gif, image/jpeg, */* Request

Accept-Language: en-us | Request Headers > Message

Accept-Encoding: gzip, deflate | Header User-Agent: Mozilla/4.0

Content-Length: 35 )

=> AWank line separates header & body

bookId=12345Rauthor=TansAhsTeck Request Message Body

Hình 2-24 Gói tin Request chứa các thông tin cần thiết.

Giao thức HTTP định nghĩa một tập các phương thức request, client có thể

sử dụng một trong các phương thức nay dé tao request tới HTTP server, dưới đây liệt

kê một số phương thức phổ biến. 1 số HTTP Request method thường dùng:

HTTP - Responses

Câu trúc của một HTTP response:

ô - Một Status-line = Phiờn ban HTTP + Mó trạng thỏi + Trạng thỏi

ô _ Cú thể cú hoặc khụng cú cỏc trường header

ô _ Một dong trồng đề đỏnh dấu sự kết thỳc của cỏc trường header

ô Tuy chọn một thụng điệp

Mã trạng thái: Thông báo về kết quả khi nhận được yêu cầu và xử lí bên server cho

client.

Một phần của tài liệu Khóa luận tốt nghiệp Kỹ thuật máy tính: Nhận diện khuôn mặt real-time với mô hình Facenet và ứng dụng IoT platform (Trang 45 - 54)

Tải bản đầy đủ (PDF)

(79 trang)