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

Khóa luận tốt nghiệp Truyền thông và mạng máy tính: Xây dựng hệ thống cho thuê xe đạp công cộng ứng dụng công nghệ Edge computing

79 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Xây dựng hệ thống cho thuê xe đạp công cộng ứng dụng công nghệ Edge computing
Tác giả Ho Ngoc Deng Sinh
Người hướng dẫn PGS.TS Le Trung Quan
Trường học Trường Đại học Cụng nghệ Thụng tin
Chuyên ngành Mạng Máy Tính và Truyền Thụng
Thể loại Khóa luận tốt nghiệp
Năm xuất bản 2022
Thành phố Tp. Hồ Chớ Minh
Định dạng
Số trang 79
Dung lượng 41,19 MB

Nội dung

Đối tượng và phạm vỉ nghiên cứu — Triển khai hệ thống Backend IoT cho hệ thống quản lý xe đạp công cộng, quan ly người dùng, ứng dụng các công nghệ container và kubernetes.. Edge Computi

Trang 1

ĐẠI HỌC QUỐC GIA TP HÒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

KHOA MẠNG MAY TÍNH VÀ TRUYEN THONG

HO NGỌC ĐÔNG SINH - 18521339

KHOA LUAN TOT NGHIEP

XAY DUNG HE THONG CHO THUE XE DAP

CONG CONG UNG DUNG CONG NGHE

EDGE COMPUTING

Implement public bicycle rental system using Edge Computing

KY SU NGANH MANG MAY TINH VA TRUYEN THONG

GIANG VIEN HUONG DAN

PGS.TS LE TRUNG QUAN

TP HO CHÍ MINH, 2022

Trang 2

THONG TIN HỘI DONG CHAM KHÓA LUẬN TOT NGHIỆP

Hội đồng cham khóa luận tốt nghiệp, thành lập theo Quyết định số

-TĐẦY của Hiệu trưởng Trường Đại học Công nghệ Thông tin.

"“ -ÔỒ

ÔỒ LH HH HH KH HH II II ii Bi Bi 6 ti ti i0

ch =—- Ô

Ô ÔÔỒÔ ÔẺẺ ốố ốc

Trang 3

cũng như chi bảo tận tình của người Thay, người Cô Và dé có thé năm rõ và hoàn thành

tốt được quá trình thực hiện khóa luận tốt nghiệp nay, em rất biết ơn Thầy PGS.TS LêTrung Quân đã hỗ trợ tận tình, cung cấp các tài liệu dé em có thé thực hiện được khoá luận.Với lòng biết ơn sâu sắc nhất, em cũng xin gửi đến Khoa Mạng máy tính và Truyền thông,Trường Đại học Công nghệ Thông tin nơi em học tập suốt nhiều năm qua, cung cấp nhiều

kiến thức dé em có thé thực hiện đề tài Đặc biệt, em cũng xin cảm ơn phòng thực hành

E3.1 đã cung cấp các thiết bi, cơ sở vật chất, đây cũng là nơi có những người thay, ngườianh, người bạn đã cùng đồng hành và chia sẻ kinh nghiệm dé em có thé hỗ trợ em hoànthành đề tài

Ngoài ra, để quá trình thực tập được hoàn thành tốt đẹp thì không thể nào không cảm ơnnhững người bạn trong lớp MMTT 2018 đã cùng đồng hành chia sẻ kiến thức, hỗ trợ lẫn

nhau trong cả quãng đường dai trên giảng đường đại học.

Xin chân thành cảm ơn mọi người.

Trân trọng cảm ơn.

Tp Hồ Chí Minh, năm 2022

Trang 4

MỤC LỤC

Danh sch Wink anh 3

TOM TAT KHÓA LUẬN ¿- (6 StSkEEEkEEEEEEEEEESEEEEEEEEEEEEEEEETEEEETEEEETEEEEEEEErrkrkrree 6

Chương I: MỞ ĐẦU -¿- 2 ©5£+SE+2EE9EEEEEE9E121127121171121171.21111 21111 .11 T1 .11yee 7

1.1 Lý do chọn đề tài ¿- 2 <+5<+SE+EE£EE£EEEEEEEE21121121121121111 711111112111 Xe 7

1.2 Mục đích - - - c1 11112230111 1119301111199 1kg ng 7

1.3 Đối tượng và phạm vi nghiên cứu - 2 2£ £+E+2E£+EE£+EE+EE£EEerxezrxerxerred 7

Chương II: Các nghiên cứu và công nghệ liên quan - 5 5 5+ *+*+seseesserss 8

2.1 Tổng quan tình hình nghiên cứu 2 2 2 22 E+EE+EE+EE+EEeEEEErEezEzrerrerrree 8

2.1.1 Tinh hình nghiên cứu ngoài nƯỚC - G25 111v vn sư 8

2.1.2 Tình hình nghiên cứu trong THƯỚC - ¿- 6 22 E21 1E *VESsEESsekEsseEeskeeee 9

2.2 Những van đề cần tập trung giải quyẾ 2-2 5¿+++Ex£+EE+Ex+Exerxeerxerrerree 92.3 Cơ sở lý thuyết và hướng tiếp cận đề tài 5-52 s+cx+cEe£kerterxerrerreces 10

Chương III: PHƯƠNG PHÁP LUẬN NGHIÊN CỨU -2- 5-52 52222522 24

3.1 Phân tích, thiết kế hệ thống 2- 2© ¿+ +E£+E£+E£2EE£EE2EE£EEEEEEEEEEEEEErrkrrkrrrree 24

3.1.1 Thiết kế mô hình phân rã cấu trúc hệ thống -2- 2: 2++++sz2 +: 24

3.1.1.1 Phân rã thành phan trung tâm dữ liệu đám mây - 253.1.1.2 Phân rã thành phan cấu trúc cận biên - 2-2 + +2 s+zx++szzs++‡ 26

3.1.2 Phân tích thiết kế Database -¿- 5: St+ESEE2EvEE2EEEEEEEEEEEEEEEEEESEErkrrrrxerrrs 27

Trang 5

3.1.3 Phân tích, thiết kế AIPI 5:5: +t+E+E+EEEEE+E+ESEEEEEESESEEEEEEEEEEEEEEEEErkrkrkrrrrres 283.1.4 Thiết kế mô hình ứng dụng thuê Xe 2 2 2 £+EE+EE+EE£EeEEerErrerrerrs 323.2 Đặc tả và thiết kế mô hình ngữ cảnh + 2 2 2+S£+EE+£E+EEeEEerEerkerrerrxee 35

5.2 Hướng phát triỀn - + 2 2 £+SE+SE9EE£EE£EEEEE2E12112112112117121117121 21.21 xe, 71

5.2.1 Tích hợp xác thực người dùng tại các frạm -+ «+++x++eexeseresess 71

5.2.2 Kết nối các tram xe vào thành một cum MAY ChỦ « «<< ++<ecesee 71

5.2.3 Nang cao trải nghiệm người dùng với ứng dụng di động 71

TAI LIEU THAM KHẢO - - 5 - Sk+StÉEEỀEE‡EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEETEEEEEELTErrkerkee 72

Trang 6

Hình 10 React native - nền tang phát triển ứng dụng trên thiết bị di động 21 Hình II Monitoring voi Prometheus va Grafana cecccecceesecesseeseeeeeeeeaeeeeeeeeeeeeaeeeaee 22

Hình 12 Sơ đồ phân rã cấu trúc hệ thống - 22 + ©5£+++2E£+EEt£EE+EEtzzeerxezreerxee 24Hình 13 Sơ đồ thành phần trung tâm đữ liệu 2 2 2+ £++2£E+£E+£EezEerEzxezreee 25Hình 14 Sơ đồ thành phan cấu trúc cận biên -2- +¿©2++2x£+£xzz++rxezzserxez 26Hình 15 Sơ đồ thiết kế cơ sở đữ liệu -:¿-555ccccEttrrrrrkttrrrtrrrrrrrrrirrrrrrrrrrrk 27Hình 16 Luông hoạt đồng từ Mobile - API - Database 2-5 s55 s£xzxz2sze2 28Hình 17 Lung xử lý của ATPI 2 225252921 SEEEEEEEE2E2112112112212111171 71111 28Hình 18 Sơ đồ phân rã chức năng -2- 2-2 ®+2E+E+E££EE£EE+EEEEEEEEEEEEEEerkrrkerkerreee 32

Hinh 19 Use Cases Diagram 00 /(CCaaIỊỌạađađđ 33

Hình 20 Quá trình thu6/tra X€ c2 221122111211 12 1111 1181118115811 1811111111811 811k, 34

Hình 21 Kiến trúc hệ thống ¿- 2 ®+S2+S£SE+EE£EE£EEEEEE2E2E12112112711171 7171111 eU 36Hình 22 Mô hình thực tế triỀn khai -¿¿-©2222+222++ttttEEktrrtrkrtrrrrrrkrrrrrrrkrrrrr 39Hình 23 Cây thư mục của hệ thống - 2-22 2 ©S£+EE£EE££EEtEEEEEEEEEEEEErrEkerkrrrrrrkee 40

Hình 24 Lưu các image trên docker T€Ø1S{Y - - c5 + 3t * + E*ESEEesreeerrereserrrree 41 Hinh 25 Khoi tao may master dtdiíiỐ3đ5Ẽ 41 Ii1i0228.61unr!eái 0/09 5n 42 Hình 27 Tao cluster từ các MAY ảO - - 5 + 3111111191 9119110111111 ng nàn rưệt 42

Hình 28 Thông tin CÏUSf€T- - G5 3 E21119301 193119 11 1T HH kh 43

Hình 29 Các service và deployment triển khai trong kubernetes - - 43

Hình 30 Giao diện database G1 012211111611 111 1111111110111 101111181 11g ky 44

Hình 31 Cấu hình laptop thành reverse proxy dé chuyền dữ liệu từ ngoài vào cluster 44

Hình 32 Server.js - file chính dé khởi chạy API 2 2 2+2£2 + E+£x+£xezxerxezzeee 45

Hình 33 Cac route được sử dụng trong APÏ - - 5c + c + SE skEssreerrreresererree 46

Hình 34 Các endpoint trong route US€T - - <5 + E2 1E EE 9E SE S9 ng 47 Hình 35 Các endpoint trong route SfAfIOII <6 + 1E *E*SVE*ESkksk ke 47 Hình 36 Các endpoint trong route DAITIIK - - - <5 + 1E 13911 E9 re 48

Trang 7

Hình 37 Cac endpoint trong route ĐIK€ 5 - + +3 vn vn HH ng giết 48 Hình 38 Dinh nghĩa model US€T - 5 6231 E*E*3EE#EE+sEEEEESsEeeEsskeskeskerkeree 49 Hình 39 Dinh nghĩa model StafIOTn - 5 6 2E 32+ E*EE+vEEEeEeeEeereeerreeeserrerrree 50 Hình 40 Dinh nghĩa model Day1m€TI( 5 + 1+3 E*E++EEEEE+sEEeeEeseeeeesereerree 50 Hình 41 Dinh nghĩa model DIkG - - - - 2 E231 E*5E+EE#EE+EEEEESkEEkEskeskeskeskeree 51 Hình 42 Xác thực người dùng với JsonWebToken cee eceececeeseceeeeteceeeeseceeeeaeeeneese 52

Hình 43 Kết nối database với Mongoose csscssesssessessessessessessessessssessessessesseeseeseeseesees 53Hình 44 Luéng hoạt động của ứng dung di dOng ceccesscecsesssessesssesseessesssessecssesseesseeses 54

Hình 45 Màn hình LOB1H G6 E1 931911931 1 911911 1 ng ng ng rệt 55 Hình 46 Màn hình Register oo ec eeccesessceseceseeseeesecsecesecsecesecseceeeeseceeeeaeceeeeseceeseaeeneeess 56 Hình 47 Màn hình Home Page ce ceeesceseessecseeeseceeeesecseeesecsecceeseceeesaeeeeeeseseeeeseeaeeess 57

Hình 48 Man hình OðOUL - - G5110 9119 TH ng 58

Hinh 49 Man hinh User Info 1117077 59

Hình 50 Màn hình bản 6 cscscssssseescsssessssssesessseeseessneessssneecessneecsssneseesneesessneees 60

Hình 51 Màn hình danh sách xe của trạm - - ¿+2 2c 1332211132338 115111 EExzsxe 61

Hình 52 Màn hình hướng dẫn thuê xe - - 2-5: 2 952 +E+E££E+E£EE+E£EE£EeErErxererrersrxee 62

Hình 53 Màn hình thanh tOán - 2E 1 11991191911 91191901 2g ng ngư 63 Hình 54 Màn hình thanh toán thành công - - 5 +6 + *+E+sEEseEsseseEeseeseessee 64 Hình 55 Màn hình trang chủ tram Xe 6 + E11 2 9 123 1 HH HH ri, 65 Hình 56 Màn hình trạng thái trạm Xe c2 22+ E321 E**E**EE+EEEEEeEEesesreerrsereree 66

Hinh 57 00.06 66

Hình 58 Màn hình kết qua trả x¢ csccscsesscessesssessssssessssssecssessecsusssecsusssecsusssessuessecsseeees 67

Hình 59 Mô hình giám sát các trạm Xe ¿E322 S111 3 E111 Ekrree 67

Hình 60 Prometheus kết nói thành công dé lấy dữ liệu từ trạm xe - 68Hình 61 Một số biểu đồ thé hiện thông tin CUA trẠm - - 5-s+sc + £+svsserseseerrexes 68

Trang 8

DANH MỤC BANG

Bang I Endpoint tại /api/users

Bảng 2 Endpoint tại /ap1/SfAfIOTNS - SG tk 9 vn HT ng niên

Bảng 3 Endpoint tại /api/payments 5 G5 1319 1 2 ng ng rưệt Bang 4 Endpoint tại /api/bikes

Trang 9

TOM TAT KHÓA LUẬN

Công nghiệp 4.0 đang được ứng dụng nhiều hơn bao giờ hết, các mô hình IoT đã và

đang được ứng dụng tai các quốc gia phát triển trên thế giới Một trong số đó là hệ

thống cho thuê xe đạp đã phô biến tại Trung Quốc, Mỹ, Châu Âu va Singapore Tuy

nhiên mô hình này lại không được phô biến tại Việt Nam mặc cho những lợi ích về

phát triển du lịch, phương tiện công cộng và bảo vệ môi trường Chính vì vậy, việc

phát triển và nhân rộng các mô hình cho thuê xe đạp là một đề tài hấp dẫn và thực tiễnđối với sinh viên chúng ta Ở đề tài này, sinh viên tập trung vào hướng tìm ra giải pháptriển khai một mô hình quản lý xe đạp phù hợp nhất với tình hình phát triển công nghệ

trong nước, đảm bảo được khả năng và chỉ phí khi triển khai ngoài thực tế Ứng dụng

Edge Computing dé triển khai hệ thống Xây dựng các ứng dụng thân thiện với người

dùng Ứng dụng công nghệ vào mô hình Cloud computing để cải thiện khả năng xử lý,

tăng tính kháng lỗi, tăng khả năng mở rộng cho hệ thống xử lý

Trang 10

CHƯƠNG I: MỞ ĐẦU

1.1 Lý do chọn đề tài

Trong bối cảnh công nghệ 4.0 đang phát triển vượt bậc, Internet of things được ứngdụng rộng rãi trong đời sống từ Smart Home đến Smart City, các sản phâm công nghệ

đã có sự kết nối và giao tiếp với nhau trở thành một mạng lưới hỗ trợ mạnh mẽ đến đời

sống con người Bắt kịp với xu thế công nghệ xanh của thế giới, nhóm em quyết địnhthực hiện đề tài “Xây dựng hệ thống cho thuê xe đạp công cộng ứng dụng công nghệEdge computing” Nhằm giúp tạo ra một hệ thống cho thuê xe đạp mà không cần đếnnhiều sự quản lý từ con người, đơn giản và tiện nghỉ trong cách sử dụng Bên cạnh đó,

xây dựng hệ thống cho thuê xe đạp còn là một đề tài có thể giúp em vận dụng các kiến

thức chuyên ngành đã học được, qua đó một phan thé hiện được quá trình học tập trong

những năm tháng giảng đường.

1.3 Đối tượng và phạm vỉ nghiên cứu

— Triển khai hệ thống Backend IoT cho hệ thống quản lý xe đạp công cộng, quan

ly người dùng, ứng dụng các công nghệ container và kubernetes.

— Xây dựng các trạm ứng dung Edge computing dé quan lý xe đạp và cập nhật trạng

thái, tương tác với hệ thống máy chủ

— Ứng dụng thuê xe đạp trên thiết bị di động

— Trién khai hệ thống giám sát các trạm quan lý xe đạp

Trang 11

CHƯƠNG II: CÁC NGHIÊN CỨU VÀ CÔNG NGHỆ LIÊN QUAN

2.1 Tổng quan tình hình nghiên cứu.

Xu hướng công nghệ xanh 4.0 đã và đang được phát triển nhanh chóng và rộng rãi, cácquốc gia phát triển đã cho thấy những lợi ích mà công nghệ mang lại cho nền nông

nghiệp, công nghiệp và ngay cả trong đời sống Trong đó, Edge computing, Cloud

computing là những xu hướng công nghệ phô biến trong những năm qua

Edge Computing được ứng dụng dé cải thiện hiệu suất cho các ứng dụng IoT Các ditliệu được xử lý tại Edge gần với các thiết bị lot giúp cho tốc độ xử lý dữ liệu nhanh

hơn, giảm thiểu độ trễ

Cloud Computing giúp mang lại một hệ thống dễ dàng nâng cấp, vận hành và bảo trì

2.1.1 Tình hình nghiên cứu ngoài nước

Theo bai báo cáo “Edge Computing Market Size, Industry Growth Report,

2020-2027”, dự án camera an ninh trong nha Nest Cam IQ do Google Inc xây dựng có tính

năng xử ly thị giác trên thiết bị dé phát hiện chuyên động, nhận dang khuôn mặt quenthuộc và gửi cảnh báo thời gian thực Google Inc đã công bố nền tảng Cloud IoT Edge

giúp mở rộng khả năng xử lý dữ liệu và máy học (Machine Learning) của Google

Cloud cho các thiết bị Edge Computing Nền tảng phần mềm này đi kèm với một công

cụ máy học có thé tận dụng các ứng dụng của Edge Tensor Processing Units (TPUs)

Theo báo cáo “Edge Computing Market — Growth, Trend, Forecast (2021 — 2026)” cho

rằng: điện toán cận biên được kỳ vọng sẽ đóng một vai trò quan trọng trong việc áp

dụng và hoạt động rộng rãi các công nghệ, chăng hạn như AR/VR, phương tiện tự

hành, loT, CDN thế hệ tiếp theo, đám mây thế hệ tiếp theo va trò chơi phát trực tuyến.

Ví dụ, Điện toán cận biên có thể rất quan trọng trong việc vận hành một mạng xe tự

hành trong tương lai Vào tháng 7 năm 2019, IBM Nhật Ban đã gia nhập Hiệp hội điện toán biên ô tô (AECC).

Trang 12

2.1.2 Tình hình nghiên cứu trong nước

Vào tháng 12 năm 2020, Sở Giao thông vận tải Thành phố Hồ Chí Minh thôngbáo rằng Ủy ban nhân dân thành phó đã chấp thuận về nguyên tắc cho việc thí điểm hệthống đi chung xe đạp công cộng tại một số khu vực trên toàn thành phố trong 12

tháng Hệ thống chia sẻ xe đạp do Công ty CP Tập đoàn Trí Nam đầu tư và vận hành

[1]

2.2 Những van đề cần tập trung giải quyết.

- Xây dựng một hệ thống quan lý xe đạp hoạt động ồn định

- Hệ thống phù hợp với điều kiện cơ sở vật chất, dễ dàng triển khai.

- Đảm bảo tính an toàn, tin cậy và phù hợp với tình hình trong nước.

- Cải thiện hiệu năng của hệ thống, tự động phục hồi hoặc dễ dàng sửa chữa khi gặp

trục trặc.

- Đảm bảo tính mở rộng.

Trang 13

2.3 Cơ sé lý thuyết và hướng tiếp cận đề tài.

2.3.1 Cloud Computing

Cloud computing - điện toán đám mây là việc cung cấp các dịch vụ điện toán bao gồm

servers, storage, databases, networking, software, thông qua mạng internet.

“A Microsoft Azure

& KAMATERA 9 nh:

Lợi ích của điện toán đám mây:

- Nhanh chóng: đám mây cho phép ta dễ dàng sở hữu một hệ thống máy chủ, cơ sở đữliệu, chỉ sau một vài thao tác chỉ cần có kết nỗi mạng bat ké ở đâu Ta có thé triển

khai từ một ý tưởng đến khâu hoàn thiện một cách nhanh chóng, điều này cho phép tathử nghiệm những ý tưởng mới mà không phải mắt quá nhiều lo lắng

- Quy mô linh hoạt: với điện toán đám mây, không cần phải cung cấp tài nguyên quá

mức đề đảm bảo yêu cầu lượng tài nguyên máy chủ khi mở rộng Thay vào đó, ta chỉ

cần cung cấp đủ tài nguyên cần thiết, việc nâng cấp tài nguyên hoặc giảm đi được điện

toán đám mây hỗ trợ thực hiện dễ dàng

- Tiết kiệm chi phí: chính vì việc không phải sở hữu một hệ thống máy chủ hay tài

nguyên vật lý nào nên người dùng còn tiết kiệm được một số chi phí như mặt bang, bảodưỡng và thay thế khi gặp trục trặc

10

Trang 14

- Triển khai trên toàn cầu chỉ trong vài phút

Phân loại điện toán đám mây:

- Public cloud: được sở hữu bởi một bên nhà cung cấp dịch vụ điện toán, họ cung cấp

tài nguyên hệ thống thông qua mạng internet

- Private cloud: là những đám mây phục vụ riêng cho các doanh nghiệp hoặc tổ chức

với mục đích sử dụng một hệ thống điện toán cho riêng họ và đảm bảo tính bảo mật

cao.

- Hybrid cloud: là sự kết hợp của public cloud va private cloud nhờ các công nghệ chophép chia sẻ đữ liệu Điều này mang lại cho doanh nghiệp sự linh hoạt với nhiều tùy

chọn triển khai hon, giúp tối ưu hóa cơ sở hạ tầng, bảo mật

Phân loại dịch vụ đám mây:

- Infrastructure as a service (IaaS): đây là loại co bản nhất của điện toán dam mây, IaaScung cấp cơ sở hạ tầng, máy ảo, bộ nhớ, hệ thong mang, hé điều hành Một số nha cungcấp dịch vụ này có thể kê đến như AWS, Microsoft Azure, Google

- Platform as a service (PaaS): hỗ trợ người dùng sử dụng dịch vụ cloud bang cac hé

điều hành, co sở dit liệu, may chu web giúp người dùng tập hon vào dịch vụ đầu

cuối hơn là quan tâm đến những thứ bên trong Các nhà cung cấp laaS cũng thường

cung cấp PaaS giúp bạn giảm tải công việc

- Software as a service (SaaS): giúp người dùng truy cập đến các phần mềm trên nên

tảng cloud mà không cân quản lý cơ sở hạ tầng và nền tảng nó đang chạy Các SaaS

thường gặp như các dich vụ của google như tai liệu, drive, google photo hay

outlook, dropbox

11

Trang 15

2.3.2 Edge Computing

Điện toán biên (Edge Computing) là một kiến trúc được thiết kế và xây dựng nhằmtối ưu hoá hệ thống điện toán đám mây bằng cách cho phép xử lý, tính toán đữ liệu tạivùng biên — nơi gần với nguồn phát sinh đữ liệu và nhận yêu cầu xử lý nhất (các thiết bị

IoT).

Hình 2 Mô hình kiến trúc Edge Computing

Hoạt động của Edge computing: điện toán biên hoạt động bằng cách nắm bắt và xử lý

thông tin cảng gần nguồn dữ liệu hoặc sự kiện mong muốn càng tốt Nó dua vào cảm

biến, thiết bị điện toán và máy móc dé thu thập dit liệu và cung cấp dit liệu cho các máychủ biên hoặc đám mây Tùy thuộc vào nhiệm vụ va kết quả mong muốn, dữ liệu này cóthé cung cấp cho hệ thống phân tích và học máy, cung cấp khả năng tự động hóa hoặc

cung cấp khả năng hiển thị về trạng thái hiện tại của thiết bị, hệ thống hoặc sản phẩm.

12

Trang 16

Các thành phần trong Edge computing:

e Cloud Server: Day có thé là một đám mây công cộng hoặc riêng tư, hoặc có thé

là một trung tâm dữ liệu Những dam mây nay lưu trữ và chạy các ứng dụng được

sử dụng dé điều phối và quản lý các edge node (nút biên) khác nhau Khối lượngcông việc ở biên, ở thiết bị cuối và trên các đám mây sẽ tương tác lẫn nhau trong

quá trình xử lý.

e Thiết bị biên (edge device): là thiết bị được tích hợp khả năng tính toán như máy

ATM, máy ảnh số hoặc ô tô Các thiết bị biên thường có năng lực tính toán hạn

chế, chỉ xử lý các yêu cầu tức thời cần độ trễ thấp Mặc dù cũng có những edge

device với cấu hình mạnh, chúng là ngoại lệ chứ không đại diện cho đa SỐ.

e Nút biên (edge node): Nút biên là một cách gọi chung dé chi bat kỳ thiết bị biên,

máy chủ biên hoặc công biên nào mà tính toán biên có thé được thực hiện.

e May chủ biên (edge server): máy chủ biên là một máy tính có mục đích chung

được đặt trong một cơ sở hoạt động từ xa như nhà máy, cửa hàng bán lẻ, khách

13

Trang 17

sạn, trung tâm phân phối hoặc chi nhánh ngân hàng Máy chủ biên thường đượcxây dựng băng PC công nghiệp với CPU có 8 - 16 lõi hoặc hơn, bộ nhớ từ 16GB

và hàng trăm GB dung lượng lưu trữ cục bộ Một máy chủ biên thường được sử

dung dé chạy khối lượng công việc của ứng dụng doanh nghiệp và các dich vu

được chia sẻ.

Cổng biên (edge gateway): một công biên thường là một máy chủ biên, ngoàiviệc xử lý khối lượng công việc của ứng dụng doanh nghiệp còn thực hiện cácchức năng mạng như biên dịch giao thức, bảo vệ tường lửa hoặc kết nối không

dây.

14

Trang 18

2.3.3 Thiết bị và công nghệ sử dụng.

2.3.3.1 Docker

Docker là một nền tảng dé cung cấp cách dé building, deploying và running ứng

dụng dé dang hơn bang cách sử dụng các containers (trên nền tảng ảo hóa)

Container 1

(namespaces)

Hình 4 Minh họa docker

Các containers cho phép đóng gói một ứng dụng với tất cả các phần cần thiết, chắnghạn như thư viện và các phụ thuộc khác, và gói tất cả ra dưới dạng một package Dựa

vào cách đó cũng như container mà ứng dụng sẽ được chạy trên mọi máy Linux khác,

bất ké mọi cài đặt đã được tùy chỉnh mà máy đều có thé khác với máy đã được sử dụng

đê viêt code.

15

Trang 19

Hinh 5 Trién khai Docker Container

16

Trang 20

- Quy trình xây dựng một container.

Docker?

For A

e Build: Đầu tiên tạo một dockerfile, trong dockerfile này chính là code của chúng

ta Dockerfile này sẽ được Build tại một máy tính đã cài đặt Docker Engine Sau

khi build ta sẽ có được Container, trong Container này chứa ứng dụng kèm bộ thư

viện của chúng ta.

® Push: Sau khi có được Container, chúng ta thực hiện push Container này lên

cloud và lưu tại đó.

e Pull, Run: Nếu một máy tính khác muốn sử dung Container chúng ta thì bắt buộc

máy phải thực hiện việc Pull container này về máy, tất nhiên máy này cũng phải

cài Docker Engine Sau đó thực hiện Run Container này.

2.3.3.2 Kubernetes

Kubernetes là một nền tảng nguồn mở, khả chuyền, có thể mở rộng để quản lý các

ứng dụng được đóng gói và các service, giúp thuận lợi trong việc câu hình va tự động

17

Trang 21

hóa việc triển khai ứng dụng Kubernetes là một hệ sinh thái lớn và phát triển nhanh

chóng Các dịch vụ, sự hỗ trợ và công cụ có sẵn rộng rãi.

Kubernetes cung cap các chức năng như:

- Service discovery và cân bang tải: Kubernetes có thé expose một container sử

dụng DNS hoặc địa chỉ IP của riêng nó Nếu lượng traffic truy cập đến một

container cao, Kubernetes có thể cân băng tải và phân phối lưu lượng mạng

(network traffic) dé việc triển khai được 6n định

- Điểu phối bộ nhớ: Kubernetes cho phép người dùng tự động mount một hệ

thống lưu trữ mà người dùng chọn, như local storages, public cloud providers,

V.V.

- Tu động rollouts và rollbacks: người dùng có thé mô tả trạng thái mong muốn

cho các container được trién khai dùng Kubernetes và nó có thé thay đổi trạngthái thực tế sang trạng thái mong muốn với tần suất được kiểm soát

- Dong gói tự động: Khi cung cấp cho Kubernetes một cluster gồm các node mà

nó có thé sử dụng dé chạy các tác vụ được đóng gói (containerized task) Chiđịnh cho Kubernetes biết mỗi container cần bao nhiêu CPU và bộ nhớ (RAM).Kubernetes có thê điều phối các container đến các node đề tận dụng tốt nhất cácresource của hệ thống

- Tw phục hồi: Kubernetes khởi động lại các containers bị lỗi, thay thế các

container, xoá các container không phản hồi lại cấu hình health check do ngườidùng xác định và không cho các client biết đến chúng cho đến khi chúng sẵn

sảng hoạt động.

- Quan lý cấu hình và bảo mật: Kubernetes cho phép người quản trị lưu trữ và

quản lý các thông tin nhạy cảm như: password, OAuth token và SSH key Từ

đó có thé triển khai va cập nhật lại secret và cấu hình ứng dụng mà không cần build lại các container image và không dé 16 secret trong cấu hình stack.

18

Trang 22

Express là một web application framework for nodejs, nó cung cấp cho chúng những

rất nhiều tính năng mạnh mẽ trên nền tang web Express rat dé dang dé phat triển các

ứng dụng nhanh dựa trên Node.js cho các ứng dụng Web Express hỗ trợ các phương

thức HTTP va middleware tạo ra 1 API rất mạnh mẽ và sử dụng dễ dàng hơn Khi mới

19

Trang 23

tiép cận với Express mình thực sự bị cuôn hút bởi các API của nó, từ cách sử dụng

route, template, đều khá dé tùy chọn và làm việc Các tính năng của Express

framework phải ké đến như:

- Cho phép thiết lập các lớp trung gian dé trả về các HTTP request

- Dinh nghĩa routing có thé duoc str dụng với các hành động khác nhau dựa trên

phương thức HTTP va URL.

- Cho phép trả về các trang HTML dựa vào các tham số truyền vào đến

template.

Đối với đồ án nay, Express va NodeJS được sử dung dé phat triển một API có kha

năng xử lý các request đến từ ứng dung di động phía người dùng, cung cấp những dit

liệu cũng như việc xác thực Ngoài ra, API còn có khả năng tương tác với các server tại

các trạm cho thuê xe đạp chạy trên Raspberry đề quản lý và điều hướng các request từngười dùng đến thiết bị biên này

2.3.3.4 Raspberry Pi

5V Micro USB Broadcom BCM 2835 & 512 MB RAM

Di SD card slot (underside)

DSI Display Connector

HDMI Port CSI Camera Connector

3.5mm A/V Jack (Stereo Audio + Composite video)

Trang 24

Raspberry Pi:

Đây là đại điện của một thiết bi Edge Computing Có thé hiểu một cách đơn giản là

Raspberry Pi là một dang máy tính thu gọn, được trang bi các phần cứng dé có thé thựchiện đầy đủ các tính năng của một máy tính thông thường Điểm ưu việt của Raspberry

chính là kích thước nhỏ gọn (chỉ bằng một chiếc thẻ ATM) và giá thành cực thấp so

với hiệu năng thu được Ngoài ra, Raspberry còn được tích hợp các công đề giao tiếp

với các cảm biến và thiết bị ngoại vi tốt hơn so với máy tính thông thường (ví dụ

GPIO, camera ) Nhìn chung lại, đây là một thiết bị hoàn hảo và đang được sử dụng

rộng rãi trong Edge Computing.

Đề biến một thiết bị nhúng như Raspberry Pi này thành một trạm quan lý xe dap và cóthé tương tác với hệ thống máy chủ, cũng như xử lý tín hiệu dé điều khiển các chân

GPIO dau ra Cần phải sử dung NodeJS và module “onoff” (một package trên npm)

2.3.3.5 React Native

Hình 10 React native - nên tang phát triển ứng dung trên thiết bị di động

React Native là một framework mã nguồn mở được phát triển bởi Facebook, được pháttriển với mục đích tăng hiệu suất kết hợp và tối ưu hóa chi phí bằng cách viết nhiều

ngôn ngữ native cho mỗi nền tảng trên thiết bị di động

21

Trang 25

2.3.3.6 Prometheus và Grafana

Hình 11 Monitoring với Prometheus và Grafana

22

Trang 26

-Prometheus là một open-source systems monitoring và alerting ban đầu được xây

dựng tại SoundCloud Vào năm 2012 nhiều công ty, tổ chức đã đứng ra bảo trợ cho

Prometheus, và project này cực kỳ và phát và có rất nhiều người dùng Hiện tại nó

không còn là một project độc lập mà được phát triển bởi rất nhiều công ty khác nhau

Nó sử dụng mã nguồn GoLang của google Hiện tại thì Prometheus 100% là open

source và có Apache 2 License on GitHub.

Day là một hệ thống giám sat (monitoring system) và bộ công cụ cảnh báo (alerting

toolkit) mã nguồn mở Dữ liệu sử dụng trong Prometheus là time series database, đây

là một khái niệm sử dụng để mô tả những database chuyên dụng được sinh ra cho việc

tối ưu lưu trữ dữ liệu theo các mốc thời gian, có thể ké đến như các thông số về tình

trạng server, lượng tải nguyên RAM, CPU tiêu thụ, Các thông sỐ này được lưu dưới

dạng các mốc thời gian, từ những đữ liệu đó ta có thể xử lý để mô phỏng thành các

biểu đồ giúp dé dàng quan sát sự biến đổi của dit liệu theo các mốc thời gian nhờ đó cóthê nắm bắt được tình trạng của server đề phát hiện những vấn đề và đưa ra cách giải

quyết một cách kịp thời

Grafana:

Grafana là một nền tảng dùng cho việc xây dựng các hệ thống analytics và monitoring.

Dựa vào các metric đã thu thập được thông qua Grafana chúng ta có thé tạo ra các

dashboard giúp trực quan hóa các metric Việc xây dựng các dashboard là một công

việc quan trọng trong monitoring, bằng việc sử dụng Grafana chúng ta chúng ta có thể

áp dụng được cho rất nhiều các giải pháp khác nhau như Prometheus, InfluxDB,

ElasticSearch, Loki,

23

Trang 27

CHUONG III: PHƯƠNG PHÁP LUẬN NGHIÊN CỨU

3.1 Phân tích, thiết kế hệ thống

Trong phần Phân tích, thiết kế hệ thống, nhóm tác giả trình bày hướng tiếp cận thiết kế

mô hình hệ thống qua các giai đoạn: Thiết kế mô hình phân rã cấu trúc hệ thống, phân

rã thành phần trung tâm dữ liệu đám mây, thành phần cấu trúc cận biên

3.1.1 Thiết kế mô hình phân rã cấu trúc hệ thống

Database Dashboard

| Prometheus | | Mobile App |

{|

Station Server | API Database |

Hình 12 Sơ đồ phân rã cầu trúc hệ thong

Trang 28

3.1.1.1 Phân rã thành phần trung tâm dữ liệu đám mây

Hình 13 Sơ đồ thành phan trung tâm dữ liệu

Hệ thống trung tâm đữ liệu là một cluster hình thành từ máy Master điều khiển

cluster và các Worker chạy các workload Bên cạnh đó là docker hub, nơi lưu trữ các

docker image trên cloud.

Kubernetes Cluster tai cloud chịu trách nhiệm triển khai các dich vu API và

Database Các dich vụ này có thé trao đổi dit liệu trực tiếp với nhau và đồng thời cũng

tạo ra các port dé bên ngoài có thể truy cập

Đề làm được điều này, em cần tạo các file deployment.yaml định nghĩa các API và

Database dé hướng dan K8S tạo ra các Pod Những Pod chứa API hoặc Database này

sẽ được quản lý bởi K8S dé có thé xoá và tạo lại khi gặp lỗi, mở rộng số lượng Pod khi

có quá nhiều đữ liệu để xử lý Việc xoá và tạo lại khiến cho địa chỉ 1p của API bị thay

đổi liên tục dẫn đến khó quản lý và cũng không thé truy cập địa chi nay từ bên ngoài

25

Trang 29

Vi vậy cần tạo thêm các file service.yaml dé định nghĩa các service này thành Load

Balancer hoặc NodePort.

Dam mây lưu trữ các ảnh docker container image là nơi lữu, quản lý tập trung các container images mà nhóm sẽ lập trình, xây dựng, đóng gói thành các ảnh docker

image Nhóm sé chọn sử dung Docker Hub làm nơi lưu trữ chính thức cho các ảnh

Hình 14 Sơ đồ thành phan cấu trúc cận biên

Tại cận biên, nhóm thực hiện triển khai các trạm xe đạp sử dụng máy tính nhúng

Raspberry Pi Những thiết bi này chịu trách nhiệm triển khai các server dé quản lý các

26

Trang 30

thiết bị xe đạp giúp đóng mở khoá, đồng thời trao đôi dữ liệu với Cloud dé đồng bộ hoá

dữ liệu và nhận thông tin từ hệ thống.

3.1.2 Phân tích thiết kế Database

= User

id string Name string

Phone Number string Email Address string Password hashString

Payment † Create At datetime

Update At datetime User

Bikeld TakeAt PaidAt IsCompelete

Create At datetime id

Update At datetime Name

Status

Description Latitude

Trang 31

3.1.3 Phân tích, thiết kế API

Tại trung tâm dữ liệu, API được thiết kế để nhận dé liệu từ người dùng, cập nhậttrạng thái của các đối tượng, thông bao đến trạm xe và ngược lại, nhận dữ liệu từ trạm

xe dé thông báo đến người dùng

API được triển khai vào các Pod của Kubernetes cluster Các K8S chịu tráchnhiệm quản lý các Pod dé có thể trao đổi dit liệu với database

REST API calls MongoDB Driver

React ExpressJS

MongoDB Atlas Cluster

Hình 16 Luông hoạt đông từ Mobile - API - Database

Cnn Yen !Response: Middleware

Hình 17 Luông xử lý của API

28

Trang 32

Các model tại API: các model sẽ được triển khai theo như thiết kế cơ sở dữ liệu.

Cac route ma API sé xử lý tại /api/

- USERS

- STATIONS

- PAYMENTS

- BIKES

Dinh nghia cac endpoint tai /api/users

HTTP verb | Endpoint Permission | Action

GET / Admin Lay thông tin tat cả user

POST / Tao user

GET /info User Lay thông tin người dùng

PUT /update User Cập nhật thông tin người dùng

DELETE |/:userld Admin Xoá người dùng

POST /login Đăng nhập

GET /logout User Dang xuat

POST /stationLogin Station Dang nhập (tram xe)

Bang 1 Endpoint tại /api/users

29

Trang 33

Định nghĩa các endpoint tại /api/stations/

HTTP verb | Endpoint Permission | Action

GET /user User Lay thông tin tat cả các trạm

GET /user/:stationId User Lay thông tin chi tiết của trạm

POST /user/:stationId/:bikeId | Station Tra xe tai tram

POST / Admin Tao trạm mới

PUT /:stationId Station Cap nhat trang thai tram

PUT /admin/:stationId Admin Cập nhật thông tin tram

DELETE /:stationId Admin Xoa tram

Bang 2 Endpoint tai /api/stations

30

Trang 34

Định nghĩa các endpoint tại /api/payments/

HTTP verb | Endpoint Permission | Action

GET /create/:stationId/:bikeId | User Tao hoa don thué xe

GET /update User Cập nhật hoá đơn thuê xe

GET /cash User Thanh toan hoa don thué xe

GET /info User Lay lich str thué xe

GET /payment/:paymentld User Xem lich sir thué xe chi tiét

GET / Admin Xem tat cả thông tin thuê xe

Bang 3 Endpoint tại /api/payments

Định nghĩa các endpoint tai /api/bikes/

HTTP verb | Endpoint Permission | Action

GET /user/:bikeld User Thuê xe

GET / Admin Lay thông tin tất cả các xe

POST / Admin Tạo xe mới

DELETE _ | /:bikeld Admin Xoá xe

Bảng 4 Endpoint tại /api/bikes

Ngoài ra, API cũng cân một sô chức năng cân thiệt như xác thực dữ liệu dau vào

(validate), xác thực người dùng, phân quyền V V

31

Trang 35

3.1.4 Thiết kế mô hình ứng dụng thuê xe

Ung dụng thuê xe được xây dựng dé tương tác với API của hệ thống dé thựchiện các hoạt động của người dùng như đăng kí, đăng xuất, đăng nhập, chứng thực;

thực hiện thuê xe, trả xe, xem thông tin trạm, ban đồ

Sơ đồ phân rã chức năng của ứng dụng

Hệ thống quản lý

Người dùng

(Admin/User)

CRUD CRUD

Lay oe xẻ Thuê xe Thanh toán

Đăng xuất Lịch sử thuê

xe

32

Trang 36

Sơ đô Usecase

al Faradigfwe(nline Free Edition

Thanh toán }* - Thuê/trả Đăng ký

Trang 38

3.2 Đặc tả và thiết kế mô hình ngữ cảnh

3.2.1 Đặc tả ngữ cảnh

Hệ thống được thiết kế cho ngữ cảnh một hệ thống cho thuê xe đạp tại một

thành phó Tại các trạm xe được đặt một thiết bị nhúng Raspberry Pi làm một máy chu

quản lý các xe tai trạm, các xe được khoá tai trạm thông qua một bộ khoá do chính

Raspberry Pi diéu khién Tram cũng được bồ trí một bảng điều khién, hién thi thong tin

các vi trí đặt xe, người dùng có thể tương tác tại bảng điều khiển dé thực hiện trả xe

Người dùng có thé thực hiện thuê xe, xem thông tin xe, trang thai tram, xem bản đồ

thông qua một ứng dụng di động Mọi thông tin tương tác tại trạm xe và thiết bị di

động đều được xử lý và gửi về đồng bộ với một hệ thống Cloud, hệ thống để lưu trữ dữ

liệu và xử lý các thông tin người dùng và trạm.

35

Trang 39

3.2.2 Thiết kế mô hình hệ thống trong ngữ cảnh đã đề xuất

Ngày đăng: 03/11/2024, 18:33

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

TÀI LIỆU LIÊN QUAN