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

Nghiên cứu xây dựng giải pháp quản lý lưu học sinh quốc tế tại Học viện Công nghệ Bưu chính Viễn thông

170 0 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

Tiêu đề Nghiên cứu xây dựng giải pháp quản lý lưu học sinh quốc tế tại Học viện Công nghệ Bưu chính Viễn thông
Tác giả Đỗ Tuấn Dương
Người hướng dẫn ThS. Phạm Vũ Minh Tỳ
Trường học Học viện Công nghệ Bưu chính Viễn thông
Chuyên ngành Công nghệ thông tin
Thể loại Đồ án tốt nghiệp
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 170
Dung lượng 33,33 MB

Nội dung

Một hệ thống quản ly dữ liệu sẽ giúp ich rất nhiều cho bat cứ tổ chức hay doanh nghiệp nao, khi nó có thể được áp dụng để giúp người dùng tìm kiếm và truy cập thông tin một đề tài “Nghiê

Trang 1

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIÊN THONG

KHOA ĐA PHƯƠNG TIỆN

`

Dé tài: “Nghiên cứu xây dựng giải pháp quan ly

lưu học sinh quốc tế tại Học viện Công nghệ Bưu chính Viễn thông”

Người hướng dẫn : ThS Phạm Vũ Minh Tú

Sinh viên thực hiện : Đỗ Tuấn Dương

Trang 2

Đồ án tốt nghiệp LỜI CẢM ƠN

LỜI CÁM ƠN

Lời đầu tiên, em xin gửi lời cảm ơn chân thành tới tất cả những người đã hỗ trợ,giúp đỡ em về kiến thức và tinh thần trong suốt quá trình học tập tại Học viện cũngnhư trong quá trình thực hiện đồ án tốt nghiệp

Em xin chân thành cảm ơn thay Pham Vũ Minh Tú — người đã trực tiếp hướngdẫn, nhận xét và giúp đỡ em trong suốt quá trình thực hiện Đồ án tốt nghiệp Em xingửi lời cảm ơn đến Ban giám đốc Học viện Công nghệ Bưu chính Viễn Thông cùng

toàn thể quý thầy cô trong khoa Đa Phương Tiện và các phòng ban khác trong Họcviện đã tạo điều kiện và giúp đỡ em cũng như toàn thé sinh viên trong quá trình học

tập và thực hiện đồ án tốt nghiệp

Mặc dù em đã có gắng hoàn thành đồ án trong phạm vi và khả năng cho phép,

nhưng chắc chắn sẽ không tránh khỏi những thiếu sót Kính mong quý thầy cô chỉ bảo

và đóng góp ý kiến dé em có thêm kinh nghiệm và kiến thức dé tiếp tục hoàn thiện đồ

án tốt nghiệp

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

Đỗ Tuấn Dương - B19DCPT035

Trang 3

Đồ án tốt nghiệp NHAN XÉT - ĐÁNH GIÁ - CHAM DIEM

NHAN XÉT - ĐÁNH GIÁ - CHAM DIEM

Hà Nội, ngày .tháng năm 2023

Giảng viên hướng dẫn

(Ki, ghi rõ họ tên)

Đỗ Tuấn Dương - BI9DCPT035 n

Trang 4

Đồ án tốt nghiệp MỤC LỤC

MỤC LỤC

10) OF.) 0), 0 iNHAN XÉT — ĐÁNH GIÁ — CHAM DIEM cccssssssssessessessessesecsscsscssesesscscssceeseeaeee ii

DANH MỤC CAC KÝ HIỆU VÀ CHU VIET TAT ccscssssssssessesssssessssessssssessseesees vDANH MỤC CAC BANG ).uwsssssssssssssessesssssscssesonsssssscssssnssncescsanssucsacsanssucenceaceneaeeseenees viiDANH MỤC CÁC HÌNH VE c.scssssssssessessessessesscssssssssssussussessessssessssesscsesesscsesseeeees xii

MỞ ĐU o G6 Sư 9 cư 0 Sư h9 0905 9u gu xvi

CHƯƠNG 1: TONG QUAN LÝ THUYTT - 5° 5° 5s ss se SseseEsexeesezsessese 11.1 Tổng quan về DMS eccecceccsccsscsscssessessessessessesscssessesscssssussucsessesseseessessesessvsasevsneaeees 1

1.1.1 Giới thiệu về DMS o.cceccecccccccccccsessessessessessessessessssscsessussessessessessessetississesusscsetseaes 11.1.2 Lich sử hình thành va phat triển của DMS ccccssceccesceseeseeseesessessessessesseseeesesseees 2

1.1.3 000.sàì 0u 09) S117 2

1.1.4 Ưu điểm, nhược điểm của DMS - c1 3 SE S1 212113115551111515151111555511 1xx exe 51.1.5 Ứng dụng của DMS - - ¿52 2 St E211212111111111111111 111 1111111 gt tre 6

1.2 Tổng quan về RESTful ALPI - 2: ©5¿25222+‡EEEE2EE2EEEEE2EE22EEEE2EE2E2E2EE2xcEkcree 9

1.2.1 Giới thiệu về RESTful API 2: 5¿2522SE+2E£2E22EE22E22112112212121121 2121212 cxe2 91.2.2 Cách hoạt động của RESTful API - cccccscceseceseeeeseeeeeeseeesseeeeeenseeeees 91.2.3 Ưu điểm, nhược điểm của RESTful API -5-©52©522<c2E2222EEtzxzxezszxees 10

1.3 Tổng quan về mã trạng thái HTTTP - 2 2 +SE+EE+E£EE+E£EESEEEEEEEEEEEeEkrkrrrree 101.3.1 Giới thiệu về HTTTEP - ¿+ %+SE+SE+EE+EE£EE2EE2E12E1211211717171 717171111111 Xe 10

1.3.2 Hạng mục các mã trạng thái HÏTTTTP - ¿2c 3+ 1113113511315 EexrE 10

1.4 Tổng quan về Golang -¿- ¿+ St seSk+E+E£EE2EEEEEE121511211111111121111111111 11 1 ce I1

1.4.1 Giới thiệu về Golang -¿- + + s+SE+EE2E12E12E1211211711717111 1111111112111 xe 11

1.4.2 Đặc điểm của Golang -¿- - + tt SE E12151121121211111111111111 11111111 1tr lãi1.4.3 Ưu điểm và nhược điểm của Golang 2-2: ©5¿+2++2x+£E2E2Exerxzkrzxerrerres 12

1.5 Tổng quan về Redis cache - ¿+ + s+Sx9EE9EE9EE2E12E121121121121171171 1111111 1x 12

1.5.1 Giới thiệu về Redis cache - 2: + +s+Sx‡EE9EEEE1221221211211211211211 211121 1x6 12

Đỗ Tuấn Dương - BI9DCPT035 W

Trang 5

Đồ án tốt nghiệp MỤC LỤC

1.5.2 Đặc điểm của Redis cache c.c.ccccccccsssssesesessssescscsesesececscsesesvsusesscecsescavsveneseseceeees 13

1.5.3 Cơ chế hoạt động của redis cache - 12+ 1112112511119 1111111 11k ngư, 13

1.5.4 Các kiểu dit liệu của R€dis - - se sec v21 2151EE5511111115151111111E11111 E1 txei 13

1.5.5 Tương tác với dữ liệu R€dÌ1s - G1 SE HT ng nh 14

1.5.6 Ưu điểm và nhược điểm của rediS - - - 5s tt Sx+EvEEEE+EEEEEEEEEEEEEEEEEEEEskrkersee 16

1.6 Tổng quan về Nginx c.cceccccscsccsesscssescsscsscsesscssscsucsesscsvcsvsussvsassvssesuesvsassesseseeavenees 17

1.6.1 Giới thiệu về INginx - 2 tt SE EEEEE1211211211211211211111 11111111 171.6.2 Cách thức hoạt động của NgInx - - c1 211121112 1111111118111 1181111118 xe, 17

1.6.3 Đặc điểm của Ngĩnx 5-5: 52 2t 21 21121122121121121121121121121121 1121 ye 18

1.6.4 So sánh Nginx với Apache - c t1 11 v11 1110111111 111 1011191111 ng re 18

1.7 Tổng quan vé Dokket -¿- ¿+ St keSE+E+E£EE2EEEEEEEEEEE121111111111111111111 111 ce 19

1.7.1 Giới thiệu vé Docker .-::-222++t2 2 21 12 19

1.7.2 Các thành phan trong Doekker - - 2 + s+S£+E£EE‡E£EE£EE2EEEEEEEEEEEEEEEEErkrkrrrree 19

1.7.3 Ưu điểm và nhược điểm của Docker -. ¿+ +s+s+E+E+ESEEEEEE2E+E+E+EEESEEEErrrerres 211.7.4 So sánh Docker với Máy ảO c0 1 112 vn 1H11 1H 1110 1 1H net 21

001000 1277 22

1.8.1 Giới thiệu vỀ Linux - 2222+22 2 x22 1t E21 TH hg 22

1.8.2 Cau trúc thư mục của LÏNUX + 5: St St 2E+E£EEEEEEEEEESEEEEEEEEEEEEEEEEEEEErkrkrkrxei 231.8.3 Đặc điểm của Linux ¿25x22 tt 222112221112211221127112 1 re 241.8.4 Ưu điểm và nhược điểm của LinUX - St tt ‡E‡E‡EEEEEEEEEE+ESESESEEEErrrrrerrex 241.9 Tổng quan về MongoDB +: 5¿+2++2x£2x2E+2E122123122122121121122127121.21 2 xe 25

1.9.1 Giới thiệu về MongoDB -¿- 2 sSs+S22E2Et2E2E7E717171711111211211 21 cty 251.9.2 Các thuật ngữ cơ bản trong MongolDB - - -c cc c2 112 11111111111 exxka 25

1.9.3 Thao tác và truy van dit liệu với MongolDB -ccccctn se reg 261.9.4 Đặc điểm của MongoDB - 5: St E1 EE12171211111121111111 111111 crce 261.9.5 Ưu và nhược diém của mongoDB 2:22 ++2x+2E2EE2Exv2E2EEeErzxrrxerres 27

1.9.6 So sánh với hệ quản tri cơ sở dữ liệu quan hỆ - - 2c 22s *+++ssexsssexrs 28

1.10 Tổng quan về GIN FramewOrẨ +- + +Sx+E‡EE9EEE£EEEE2E 1111212121111 1x, 29

Đỗ Tuấn Dương - BI9DCPT035 Vv

Trang 6

Đồ án tốt nghiệp MỤC LỤC

1.10.1 Giới thiệu về GIN FramewOrk - - + s+SE£EE£EE2EEEE2EEEE2EEEEEEEEEEEEerrrrei 29

1.10.2 Đặc điểm của GIN framewWOrTk -¿- +: s+22222192121121121212112171211 2121 xe 29

1.10.3 Ưu điểm và nhược điểm của GIN Framework ¿ + + sex eE+x+E+ezeEsrsxz 32

1.10.4 So sánh GIN với Echo - - 21 11111111111112155351 1111111535111 ky 33

1.11 Tổng quan về NuX(.jS -¿- 2-5252 SE SE E2EE21EE1E71111121121121121121121 1111011 1g 34

1.11.1 Giới thiệu về NuX.jS - 52 SE STE 2111211121111 11211 1111111111112 Etrtee 34

1.11.2 Đặc điểm của NuX(.jS - - 5-5221 21 E121121121121121121 1111112111110 ree 34

1.11.3 Cau trúc thư mục của NuX.]S - 5-52 St S SE E215 1212111211111 1111111 re 351.11.4 Ưu điểm, nhược điểm của NuxX.jS - 2-52 522S22E2E2EEEEEEEEEEEErkerkerrrrrex 36

1.11.5 So sánh với framework ]Ne€XÍ.JS L3 1S S31 HH 1H 11119 nh ke 37

1.12 Tiểu kết chương Ì 2-2 SEESEEEE2EEEE2E21E1121E112111111111111111111111 111 te 37

CHUONG 2: PHAN TÍCH VA THIET KE HỆ THÓNG . -° 5<38

2.1 Phát biểu bài OAM oo eccecceccessessessessesssssssssssssscsessessessesssssssissississssessessessesiseeeeeeees 382.1.1 Tổng quan bai toán - 2-2 s¿252221‡2k9EE211221221121121127121121121121211 211.11 e6 38

2.1.2 Đặt vấn đề -s- s22 n2 2212212211111211110112111121211212121212 1121 re 38

2.2 Phân tích hệ thống, - - 2© ©S+SE+EE9EE9EE£EE2E12E1251217171717127121121111 2112111 xe 39

2.2.1 Yêu cầu hệ thống - ¿2 + £+E2E2E9EE9E197191121121121121121121121111.11 111111 xe 39

2.2.2 Quy trình phát triển phần mềềm - ¿+ 2 SE ££E£EE+E£EE£EE£EEEE2EEEEEErEerxrxee 402.2.3 Biểu đồ phân rã chức năng 2¿ 2 ++SE+2E22E12E1921123127127112112112121 22 xe 41

2.5 Tiểu kết chương 2 -¿- 2-52: ©5222E‡2E92E2E1221221121121122121121121212111111211 11 11c 6 75CHƯƠNG 3: CÀI ĐẶT VA TRIEN IKKHAI -2- 5-5 5 sssessessessess=ses 763.1 Sản phẩm triển khai - 2-52 SE2EEEEEE2EEE12112121121112112111211111111 111111 xe, 76

Đỗ Tuấn Dương - B19DCPT035

Trang 7

Đồ án tốt nghiệp MỤC LỤC

3.2 Cài đặt hệ thống - 2-5 SE 1 11211 1101121211211111121111111111111111111 E111 re, 76

3.2.1 Cài đặt MongoDB CompaS§ - - c 3n 123v HH TH HH TH TH re 76 3.2.2 Cai Gat on 78 3.2.3 Cai 8020 .4A 80 3.2.4 Cai dat Visual studio €Ode 2 1 02222011 111122231 1111155311111 11kg xa 82 3.2.5 Cai đặt môi trường Back-end - - - c 13 1113121111111 1119111111111 811111 ke, 84 3.2.6 Cài đặt môi trường Fronf-enid - - - - + 3321132113331 EEEkkrre 84

3.3 Thiết kế API cho hệ thống - 2 525 9E EEEEEEEEEE21211112171111 1.11 xe 853.4 Triển khai giao điện hệ thong cccccccscssssssessesssessessessseesessessusssecsesssssesseesessseseeees 89

3.5 Tiểu kết chương 3 - - kề E12 12112112112112112111111111111 1111211111 re 116

„000.905 117TÀI LIEU THAM KHẢO 2- 5-5 25s 25s S2 £S£ESSEsEseEsEseEsEsessrsesersrsrse 118

PHU LUỤCC 2- <5 << << <9 TH 0.0.0 00009 04 119

Đỗ Tuấn Dương - BI9DCPT035 ụ

Trang 8

Đồ án tốt nghiệp DANH MỤC CÁC KÝ HIỆU VA CHỮ VIET TAT

DANH MỤC CÁC KÝ HIỆU VA CHỮ VIET TAT

Tên viết tắt Chú giải tiếng Anh Chú giải tiếng Việt

Management System

G

GUI Graphical User Interface Giao diện người dùng

H

HTML Hyper Text Markup Language | Ngôn ngữ Đánh dấu Siêu văn bản

HTTP Hypertext Transfer Protocol Giao thức Truyền tải Siêu Văn Bản

J

JSON JavaScript Object Notation Định dang đối tượng JavaScript

Trang 9

Đồ án tốt nghiệp DANH MỤC CÁC KÝ HIỆU VA CHỮ VIET TAT

SEO Search Engine Optimization | Tối ưu hóa công cụ tìm kiếm

SQL Structured Query Language Ngôn ngữ truy vẫn có cấu trúc

SSL Secure Sockets Layer Lớp công bảo mật

SSR Server-side Rendering Tao trang phia may chu

SSG Static Site Generation Phuong pháp tạo trang web tĩnh

XML Extensible Markup Language | Ngôn ngữ đánh dấu mở rộng

Đỗ Tuấn Dương - BI9DCPT035 vit

Trang 10

Đồ án tốt nghiệp DANH MỤC CÁC BẢNG

DANH MỤC CAC BANG

Bang 1 1 Sự khác nhau giữa Nginx và Apache - - c2 2c 3+ 332 xsvrreerves 19 Bảng 1 2 So sánh Docker với máy ảO - - «c1 nh 22 Bang 1 3 So sánh MongoDB với RDMS - - c3 0112112 1111151111111 ke 28 Bảng 1 4 So sánh Gin framework với Echo ÍramewWOTK s5 +++ssssvsss2 33 Bang 1 5 So sánh Nuxtjs với ÌN€XẨJS - n1 S21 HH TH HH 11111 kg kn 37 Bang 2 1 Xem danh sách sinh viÊn - ¿2c 22332211121 112211E 2111185111181 xE, 46

Bảng 2 2 Thêm hồ sơ sinh ViGt cccccsscsscsssessesssessessesssessesseessssessessesstessessessessseeeeees 46Bảng 2 3 Tìm kiếm sinh viên - 2-5 - S19 EEEEEEEE121121121121121171 11112111111 ye 47

Bang 2V 009.0584.008 e 47

;7)01-0 0b 6:iáii i80 0n e 4 48 Bang 2 6 Nhập file excel sinh VIÊn -. (c1 2 1221132113111 1341 1181181111111 851 1115 xe 49 Bảng 2 7 Xem danh sách ÏỚp - - - + 1E 9 1 111 1 nh ng như 49 Bang 2 8 Thém l6p 0111075757 IILẢLẢLIẦẦ 50

Bang 2 9 Tìm kiếm 16 p.i.c.cececcsccscsscssssscscssesesesscscsesssescsscsssesucsvsussvsesecevevsvssasecsvevsvees 50

Xem danh sách di@n cccccccsscssesssssessessessessessessessessesssssssessessessessesseseeeees 54

Cập nhật điểm 2-52 E2EE2EE2E12E12112112112171711111 1111111 cty 54

Nhập file excel điểm ¿+ 2 SE 1E 12EEE121171112121211 1111111 xe 55Xem thông tin hoc bồng - -2¿22 22 2E22EEEEE2E2221221231211221 22 cxe2 56

Cập nhật thực tẬp - (Q12 11212 1121111111111 01110011111 1n ky 56 I)8I9.0i/ 5591212 57 0.0): 102)s02177 .ÀÀ 58 Thêm lịch sử thanh toán BHY T 2211111222311 1 1155311111111 58

1X

Trang 11

Đồ án tốt nghiệp DANH MỤC CÁC BẢNG

1 Thông tin api lay danh sách sinh viên - 2 2 + 25+22++z++x+zxzzzzxez 85

2 Thông tin api lay l sinh viên 2-2 ++S++EE+EE2EE2EE2EE2E2EzEerEerkerkee 85

3 Thông tin api tạo mới sinh VIÊH c5 3+ 3332111133355 1E kers 85

4 Thông tin api cập nhật sinh vIÊn - c1 ng ch 85

5 Thông tin api xóa sinh VIGIL ee ee ceccessceeeeeseceseeeeseceseeceseeeseeenseeeeeesaaes 86

6 Thông tin api import danh sách sinh viÊn - 5s sssvsseeeres S6

7 Thông tin api lay danh sách lớp, ¿- 2 2 2 +E+£E££E£EEzEeEzEeEerxzrerees 86

8 Thông tin api lay 1 16p ie s.ceceeceeccsescsesesseseescsscsessesvssesscsesscsecsesscstsessneeesesees 86

9 Thong tin api ta0 16p eee aaaa 86

10 Thông tin api cập nhật lỚp - - c2 22 3213121113151 xxeE 87

11 Thông tin api Xóa ÏỚp - - s1 TH TH nu nhờ 87

12 Thông tin api import ÏỚP c2 3311321133535 xrrrrrekre 87

13 Thông tin api import sinh viên vào lớp c5 55+ 2< +++ssvcxcssss2 87

14 Thông tin api tải lên pdF c2 3321121113511 1511111111111 egkkp 88

15 Thông tin api lay base64 file PDF ccceccecescseseeseseseesesesessesseseseseeeees 88

16 Thông tin api thêm lịch sử thanh toán BHY T - eeeeeeteeeeneerenees 88

17 Thông tin api thêm lich sử mượn hộ chiẾu 2- 2 s+s+£x+£+z£z+x¿ 88

18 Các mô đun chỉ tiết trong hệ thống 2-5 2 2 +E+E£E+E2E£EeEeEErErxred 91

19 Cac trường thông tin danh sách sinh viên - c5 3+ S55 s+++ssvxssss 92

20 Các trường thông tin trong file excel sinh viÊn 55555255 ***++ss+ 93

21 Các trường nhập thông tin sinh viÊN - - 6 5 tk seseereseers 96

22 Cac trường thông tin danh sách lớp - 55 c2 ***+*Exsseeerrssssss 98

23 Các trường thông tin file excel lớp học c + + ssssssxssssseeeses 99

24 Các trường nhập thông tin lớp học ¿5c + Sc**+sk+svexseerseeerres 100

25 Các trường thông tin bảng điểm 2-2-5 SSE‡E‡EEE2EEEEEErEerkrkred 102

Trang 12

Đồ án tốt nghiệp DANH MỤC CÁC BANG

26 Các trường nhập thông tin điểm ¿+ 2S E2EE2E£E2EEEEErEerxrkred 103

27 Các trường thông tin danh sách học bồng 2- 2+ +22 s+zzxzs+# 104

28 Các trường nhập thông tin học bồng ¿+ 2 + s+E2+E+EvEz££EzEzreed 105

29 Các trường nhập danh sách thực tập - si ssvereexke 106

30 Các trường nhập thông tin thực tập - - - SccS + ssrerirssserrrres 108

31 Các trường thông tin danh sách BHYTT - - 2 22+ ‡S+++sssvsesss 109

32 Các trường nhập thông tin BHY T, 5 xin riệp 110

34 Các trường thông tin danh sách hộ chiẾu - - 2 2s s2 s+z+zxzse# 112

35 Các trường nhập thông tin hộ chiếu, visa ¿2¿- 2 5z 5++5+2s+2 113

36 Các trường nhập thông tin thanh toán BHY T S5 + +++++<ss2 114

37 Các trường thông tin danh sách tạm trú - + +3 + 2+ ‡+++sevexesss 115

38 Các trường nhập thông tin hộ chiẾu, ViSa -.-¿5ccccc c2 E 2122 Ere 116

1 Mã trạng thái HTTTP - - ¿2 22132 13121119115 1318111811181 81 111811 ky 119

2 Thông tin api lay danh sách sinh viên 2: 2¿2222++z++zzzx+z+zz++: 123

3 Output api lấy danh sách sinh viên 2-52 + Sx2E£EzEeEerxzEerxrkeree 123

4 Mô tả output api lay danh sách sinh viên 2-5 2 + £z+x+EzEz£zc+z 124

5 Thông tin api lay 1 sinh viên 2-2 SE+EE‡EE2EE2EE2E2EEEEEerkerkerrred 124

6 Output api lấy 1 sinh viên -¿- ¿+ 5E SE EEEEEEEEEEEEE1 2171511 111k cet 125

7 Mô tả output api lấy 1 sinh viên ¿- 2: ©5¿25222t2Exc2E2Exerxrrkrzrrrree 125

8 Thông tin api tạo mới sinh VIÊ - ¿2 32c 3321131335155 Eersxs 126

9 Input api tạo mới sinh VIÊH - c1 3332111333355 E511 11EEeeree 126

10 Output api tạo mới sinh VIÊH - - - Sc 3+ 33233 EEirsrikrssreereree 127

11 Mô tả thuộc tính api tạo mới sinh viÊn - ¿5 5 +25 *++‡+svsseeexss 127

12 Thông tin api cập nhật sinh vIÊn - - 5s 1v ng re 127

13 Input api cập nhật sinh vIÊn - - 2 2213221112111 1315111551511 rxe+ 128

14 Output api cập nhật sinh viÊn c2 22 1332111331131 xxe 128

15 Mô tả output api cập nhật sinh viÊn s5 S3 + svvresseerres 129

16 Thông tin api xóa sinh VIÊH ¿c2 1321113211391 Eerre 129

XI

Trang 13

Đồ án tốt nghiệp DANH MỤC CÁC BANG

Thông tin api lay danh sách lớp -¿- 2-5 + +E£EE+E2E+EeEeEerzxrxerrei 131Output api lấy danh sách lớp 22 2 ++2E+2E£2EE+EEt2E+2EEerxrrxerrees 131

Thông tin api lẫy 1 l6pe.cescececescescescsscssessessessessessessesssesvssessessessssesesseees 132

Output api ly 1 16p c cccccecccccsscssessessesssssseeseessessessessessesseeeesesssesseseeeess 132

Thông tin api ta0 ÏỚp c2 11 1112111111111 1 11 1111111811811 1111 re 132 Input api tạo lỚP - ¿c6 11 +2111211135111 1111 111811181111 1118 1H kg 133 Output api tao ÏỚP - - 13121112 11 1111 115111111117 1k TH kg kg kết 133

Mô tả Output api tạo lỚP - - c1 221112111211 1191 1181111 111111111 811 re 133 Thông tin api cập nhật lỚp - - - 6 + 11x HH nrệp 134 Output api cập nhật lỚp . c2 32 1321133211131 xe 134

Mô ta output api cập nhật lớp ¿2c 222221111332 1E exrses 134

§ÿ 01-00070021 135 8)1)9)108:08.{7.89) 210277 (/.lidáẢáẢÁI 135 Thông tin api import [ỚP - + E991 1 9 1 9v vn 135 Input api import ÏỚp - - c3 1321133511121 1351 3151111111111 11118111 Errvep 136 Output ap1 import ÏỚP) - - Sc 322111833111 13351 1338111851151 Eeree 136

Mô ta Output api import [Ớ 5c 22c 3322112311131 ESkkrrerree 136 Thông tin api import sinh viên vào lỚp - c5 5c 23+ ++ssvvcxeses 136 Input api import sinh viên vào lỚp - s5 set 137 Output api import sinh viên vào ÏỚp - c3 **+ +ssEvseersrerreses 137

Mô tả Output api import sinh viên vào ÏỚp 5-55 55s ++++<ssss2 137 Thông tin api tải lên PIDE G1191 21199119111 11 ng nh 138 Input api api tải lên PIDE, - Ặ G1 12211133211 113511 1191111111951 111 rrree 138

XI

Trang 14

Đồ án tốt nghiệp DANH MỤC CÁC BẢNG

Bảng 4 45 Output api tải lên PDDE G 1 1311211312511 119 111111182 1111 ng 1 xrp 138 Bang 4 46 Output api api tải lên PDE G11 như 138

Bảng 4 47 Thông tin api lay base64 file PDE -2- 2 2522 ++E2E2Ee£Eerxerxerxei 139

Bảng 4 48 Input api api lay base64 file PDE 2: 5¿25222++2x2E2EzEzxrrxcsez 139

Bảng 4 49 Output api api lay base64 file PDF 2 2S EE2EeE2EErxrrerreg 139

Bảng 4 50 Mô ta Output api import thực tẬp 55 33213 seeirreeesese 139 Bảng 4 51 Thông tin api thêm lịch sử thanh toán BHY T «+ +s<ccs++ 140 Bang 4 52 Input api thêm lịch sử thanh toán BHY T - c5 2 + ssssserses 140 Bảng 4 53 Output api thêm lich sử thanh toán BHỶYT 5 xe 140 Bang 4 54 Mô tả Output api thêm lịch sử thanh toán BHY T -<+ +: 141

Bang 4 55 Thông tin api lich sử mượn hộ Chi€U c.cecececeseceeeeseseeeseseseseseeeeeeeeeees 141Bang 4 56 Input api lịch sử mượn hộ ChiỀU - 5S c2n 321 2E1515111112151511525E1 111155 seE 141

Bảng 4 57 Output api lịch sử mượn hộ chiếu 2-2 2 2 2E+E£EE+EeEzEeEerxez 142

Bảng 4 58 Mô tả Output api import hộ chiẾu 2: 5¿©2222++2xzx+z+zzzxez+zs+z 142

Đỗ Tuấn Dương - BI9DCPT035 xu

Trang 15

Đồ án tốt nghiệp DANH MỤC CÁC HÌNH VẼ

DANH MỤC CÁC HÌNH VE

Hình 1 1 Hệ thống quản lý bệnh viện Viettel]-HTIS -2- - 2 2S +E££££E+EzEzEzrzez 6Hình 1 2 Hệ thống quan lý tài chính Viettel-Vess -2- 2-52 52S22E22EtzEcrEerkrrrxee 7Hình 1 3 Hệ thống SMAS quản lý giáo dục - ¿5c s2 2E E21 EEerrrrree §Hình 1 4 Luồng hoạt động của RESTful API -22- 2 x222E++£xvzxzxzzxerxrzxez 9

Hình 1 5 Cơ chế hoạt động của Redis cache -. c 1c t1 1 112 11x 11111111 13

Hình 1 6 Cơ chế hoạt động của Redis pub/Sub - 2-5: + ++s+SE2E££E+E£EeEzEerxrxes 15

Hình 1 7 Mô hình hoạt động của NgInX - - - 2c 3S 1321112 13 1191 11 ke 17 Hình 1 8 Cách hoạt động của Docker Ïmage ¿5c 222332 +EEsseseeseses 19 Hình 1 9 Mô hình Docker SWar1m - - 5+2 1321135111551 1<51 11911115111 191111 rrrrkp 20

Hình 1 10 Hệ thống thư mục của LLInUX 25552 2222111 **+22EEEeeeeeeeeesssssssee 23Hình 1 11 Cấu trúc thư mục của NuX[.jS - 2-5 S2SE*E‡EE2E£EEEEEEEEEEEEEEEEErkrkreea 35

Hình 2 1 Mô hình scrum - -.- s11 211911911 911910 11 nh HH như 40

Hình 2 2 Biểu đồ phân rã chức năng - ¿+ t+SeEE2E2EEE2EEE1EE71 2121111111 xe 4IHình 2 3 Use case tong quan ¿- 2: ©5¿52+2E9EE2E22EEE21211221271211211221 21.212 xe 42

Hình 2 4 Use case quản lý sinh VIÊn 2c 2S 1121112113111 1 1151111181111 1118111111 xrE 42 Hình 2 5 Use case quản lý lớp hỌC - c1 1112111311191 9 1111111 ng ket 43

Hình 2 6 Use case quản lý điỂm - + s19 19E12112112112112171 11111111 re 4

Hình 2 7 Use case quản lý học bổng - 2-5 ©ESE+E‡EE2EEEEEEEEEEEEEEEEEEEEEEEkrkrkrkee 43

Hình 2 8 Use case quản lý thực tập - - - cà 11 ngư 44 Hình 2 9 Use case quản lý BHHYTT - c2 3220112111321 1 1111111111111 1111811111811 xrt 44

Hình 2 10 Use case quản hộ chiẾu - 2: + 2+S£+SE+EE+E2EE£E+EeEEZEEEEEEEEerkrrerxrkres 44

Hình 2 11 Use case quản lý tạm trÚ - -. c 2S 1121113111511 1 2111111111111 E1 Ekr 45

Hình 2 12 Biểu đồ quan hệ thực thỂ - ¿2-2-5 S+S£+E£EE£E£EEEEE2EEEEEEEEEEEEEErErkrrrree 45Hình 2 13 Biểu đồ lớp ¿- + + ©+¿222+EE£EE2E1221221211211271711211211211211211 212 e6 61

Hình 2 14 Biểu đồ cơ sở dữ liệu . ¿ 2222+cE2E tttttEkrtrtttirrrrrrrirrriirrree 62

Hình 2 15 Xem danh sách sinh vVIÊn - -. - 5 + 3321211351119 E2E1 111111 1k rrgvkg 62 iu) 99 50:02 11 e 63

XIV

Đỗ Tuấn Dương - B19DCPT035

Trang 16

18 Loc sinh ViGN ccccccccccccccccceceeeeesensceeeeeecececesesessssseseeececesseeeestsseneseeeeeeess 64

19 Loc sinh Vi6M ce 64

20 Nhập file excel sinh viÊn c2 3321112313111 1 1111111111111 1111 181111 re, 65

21 Xem danh sách ÏỚp c1 22 122211113211 11 911111 11118 11118 111 nhe ng và 65

22 Thêm lỚp - G1 S19 TH TH HH TH HH nh 66

23 Xem danh sách ÏỚp - - + 311119111211 1113 191119111811 811 11111188111 ky 66

P LOC vAAAỒỎỒẮđIAIA 67

25 Cap mht LOp 67

26 Nhập file excel ÏỚp - -Ă 1 1131221111231 111011 1110111111112 111 ren gy 68

27 Thêm sinh viên vào ÏỚp, - - - - 2 22c 3321112111351 1151 1151111111181 111111 rrrey 68

28 Nhập excel sinh viên vào lỚp - ¿c6 22 3211132511113 111815511 xe+ 69

29 Xem danh sách điểm -. - 2 252 S2EEE£EE£EEEEEEEEEE122171712171 11211 xe 69

39 Mô hình triển khai hệ thống 2: 2¿©2¿+2£+EE+EE+EE+EE£EtEE+EEzErzxzrrzed 74

1 Trang tải xuống MongoDB Compass 2-52-5252 2E2E£EeEzErEerxzed 76

2 File cài đặt tải xuống ¿ ¿- 52222221 212211211221221121121122111 211211 rrre 71

3 Trình cài đặt MongoDB Compass óc 3c 3x Esiirssserreses 77

4 Các cài đặt kết nối của CSDL - 55c 2 tri 78

5 Cac phién ban Nix 78

6 Thư mục sau khi g1ả1 nÉn - - c 2 2111213321119 1111111185111 18111 key 79

Trang 17

Đồ án tốt nghiệp DANH MỤC CÁC HÌNH VẼ

Hình 3 7 Nginx trên localhOSE - - -c Sc 3321121111111 121 111 11111111 11119111 1H kg kg 79

Hình 3 8 Màn hình trang tải xuống Do Ker - - 2 52 SE2EE‡E£EE2EEEEEzEerxrerkeg 80

Hình 3 9 Trình cài đặt Docker - - + 1133222211111 1119521111119 1 ng 80 Hình 3 10 Thông bao WSL 2 chưa được cài đặt - c nSS+xssireerkz 81 Hình 3 11 Nhập dòng lệnh đặt WSL 2 làm mặc định . - 5555 S5<+s+++sssss2 81 Hình 3 12 Docker khởi động sau khi cai thành CONG eee eeceeeceeeteeeneeeteeeeeeenees 81

Hình 3 13 Chon file dé bắt đầu cài Gat ccs cscssesesscsesvescsesssecsestsesevevececevaceeeces 82Hình 3 14 Đồng ý với các điều khoản của VS Code csccssesssessesstessessesestsseeesteseesen 82Hình 3 15 Chon Next trong những bước tiếp theo - 2-52 S+E+Ee£++EzErxzxerez 83

Hình 3 16 Giao diện Visual studio code c2 2< 2311122222333 11 11 Ekrrrree 83 Hình 3 17 Giao diện đăng nhập - - - c2 3221112111251 1 11 1111111111111 krrrkke 89 Hình 3 18 Giao diện trang Chu cccccsccsscesscesssceseecsseeeseccsseeeeceseeeeceseeesesseeeessas 90

Hình 3 19 Giao diện biểu đồ cột 22:25 222tt 222x222 2E EEtEErrrrrrrrrrrrrrree 90Hình 3 20 Giao diện thanh điều hướng, - 2c eEeEE£EE+EEEEEEEEEEEEEeEkrkerkrxres 91

Hình 3 21 Giao diện danh sách sinh viên - - <5 522221133 **222EEEEeeeeeeees 92 Hình 3 22 Giao diện tải file eXCeÏL - G52 3221131122331 11311 1 nen rec 93 Hình 3 23 Giao diện thông tin cá nhân sinh viên 5 2 32+ ++sevexeesss2 95 Hình 3 24 Giao diện thông tin liên lạc sinh viÊn - 5 55-2 S22 *++skvxsseeerresrese 96 Hình 3 25 Giao diện danh sách lớp học - ¿2 22c 3321131322511 Exe2 98 Hình 3 26 Giao diện thông tin lớp hỌC - - - c2 3221112112511 11111911 191k ng 99 Hình 3 27 Giao diện danh sách sinh viên trong lớp - 5+5 *++s++sexsserxss 100 Hình 3 28 Giao diện thêm sinh viên vào lớp học c3 S25 ‡++ssvcxcsseesss 101

Hình 3 29 Giao diện danh sách di6m ccceccsescsseeesseecsseeseneeseesenessneeseneteneeees 101Hình 3 30 Giao điện thông tin điểm - ¿2 2+ E+SE+E£EE£EE2EEEE2EEEEEEEEEEEErrrrees 102

Hình 3 31 Giao diện thông tin môn hỌc - c5 2+ 3+2 E 3213 EE*skrrsrsrrsee 103

Hình 3 32 Giao diện danh sách học bong " 104

Hình 3 33 Giao điện thông tin học bồng ¿- ¿+52 SE+E£EEEE2EEEEEEEEEErkrrerres 105

Hình 3 34 Giao diện danh sách thực tẬp - - S122 3x re 106 Hình 3 35 Giao diện thông tin thực tẬp - c2 112111211111 11 1118111115111 rre 107

Đỗ Tuấn Dương - B19DCPT035

Trang 18

Đồ án tốt nghiệp DANH MỤC CÁC HÌNH VẼ

Hình 3 36 Giao diện danh sách BHYTT 2111111111111 EEEEE5553351 11111 £xk 108 Hình 3 37 Giao diện thông tin BHYTT - - c1 1 2221112111111 5111111811118 1 1 re 109 Hình 3 38 Giao diện tải file PDE -Q G S2 21112113 1111 1151111111111 1111111111111 kkp 110 Hình 3 39 Giao diện thông tin thanh toán BHỶY T - 5c 52 *2*++sxssersseerres 111

Hình 3 40 Giao diện danh sách hộ Chiéu cccccccccessscssceesesececececsesesesessecececeeeecseeees 112Hình 3 41 Giao diện thông tin hộ chiẾu - ¿2 E+SE+EEE+E+EE2E£EeEEzEeExzxrrerxee 113Hình 3 42 Giao diện thông tin mượn hộ ChiỀU cv v21 1111111151111 Ee 114

Hình 3 42 Giao diện danh sách tạm trÚ - 2 2333222211333 sseeeee 115 Hình 3 43 Giao diện thông tin tạm trÚ - c3 2c 3211112111213 116

Đỗ Tuấn Dương - BI9DCPT035 xu

Trang 19

Đồ án tốt nghiệp MỞ ĐÀU

MỞ DAU

Công nghệ đang ngày càng phát triển mạnh mẽ và tạo những ảnh hưởng đáng kê

đến cuộc sống của con người Công nghệ hiện đại đã mở ra nhiều cơ hội cho sự pháttriển của ngành quản lý đữ liệu Việc quản lý đữ liệu băng cách thủ công truyền thống

đã dan trở nên lạc hậu so với thời đại ngày nay Vì vậy nên quá trình quản ly dé liệu là

một quá trình rất quan trọng trong việc tô chức đữ liệu một cách có hệ thống Một hệ

thống quản ly dữ liệu sẽ giúp ich rất nhiều cho bat cứ tổ chức hay doanh nghiệp nao,

khi nó có thể được áp dụng để giúp người dùng tìm kiếm và truy cập thông tin một

đề tài “Nghiên cứu xây dựng giải pháp quản lý lưu học sinh quốc tế tại Học viện

Công nghệ Bưu chính Viễn thông” dé trở thành đề tài đồ án tốt nghiệp của mình

e Về đối tượng và phạm vi nghiên cứu:

- Đối tượng: Người làm công tác quan lý lưu học sinh cho Học viện

- Phạm vi nghiên cứu: Xây dựng hệ thống quản lý lưu học sinh Lào phục vụ

việc quản lý sinh viên tại Học viện Công nghệ Bưu chính Viễn thông.

e VỀ mục tiêu đề tài:

- _ Nghiên cứu về hệ thống quản lý dữ liệu

- Xây dựng hệ thống quan lý sinh viên cung cấp những tinh năng tiện ích và dễ

sử dụng cho người dùng để giải quyết nhu cầu tạo ra một hệ thống quản lý sinhviên quốc tế trở nên dễ dàng và nhanh chóng hơn, giúp tiết kiệm thời gian

e Về nội dung chính của đề tài sẽ bao gồm các chương sau:

- Chương 1: Tổng quan lý thuyết Chương | sẽ trình bay tong quan về hệ thống

quản lý dữ liệu và giới thiệu tổng quan về các công nghệ được sử dụng

- Chương 2: Phân tích và thiết kế hệ thống Chương 2 sẽ đưa ra phát biểu vềbài toán, xác định yêu cầu, phương pháp xây dựng hệ thống, đưa ra biéu đồ use

case, biểu đồ tuần tự cho từng chức năng của hệ thống

- Chương 3: Cài đặt và triển khai Chương 3 sẽ trình bày cách cài đặt sản phẩm

và đưa ra một sô hình ảnh triên khai của sản phâm thực tê.

Đỗ Tuấn Dương - BI9DCPT035 là

Trang 20

Đồ án tốt nghiệp CHƯƠNG I: CƠ SỞ LÝ THUYET

CHƯƠNG 1: TONG QUAN LÝ THUYET

Trong thời đại số hóa ngày nay, việc quản lý và sử dung dữ liệu trở nên cực ky

quan trọng và phức tạp DMS là một công cụ không thé thiếu đối với các tổ chức vàdoanh nghiệp muốn tận dụng và quản lý dữ liệu một cách hiệu quả Vì vậy chương dau

tiên của luận án sé di vào tìm hiểm hệ thong DMS là gì cũng như những khái niệm vàcác đặc điểm về công nghệ liên quan dé có thể xây dựng một hệ thong DMS

1.1 Tổng quan về DMS

1.1.1 Giới thiệu về DMS

DMS (Data Management System) là một phan mềm hoặc hệ thống được sử dung

để quản lý và tổ chức đữ liệu trong một tô chức hoặc doanh nghiệp DMS giúp lưu trữ,

truy xuất, cập nhật và xử lý dữ liệu một cách hiệu quả và an toàn DMS bao gồm các

thành phần chính sau:

e Hệ quan trị cơ sở dit liệu: DBMS là một phần mềm hệ thống được sử dụng để quản

ly và tổ chức cơ sở dit liệu Đây là phần mềm chính của DMS, chịu trách nhiệm quan

ly và điều khiển các hoạt động liên quan đến dit liệu DBMS cung cấp các công cụ và

chức năng đê tạo, sửa đôi, xóa và truy xuât dữ liệu từ cơ sở dit liệu.

e Cơ sở dữ liệu: Đây là nơi lưu trữ các dit liệu trong hệ thống Cơ sở dit liệu có thé

được tô chức theo các cấu trúc khác nhau, bao gồm cả cơ sở dtr liệu quan hệ, cơ sở dữ

liệu đối tượng, cơ sở dữ liệu không quan hệ và cơ sở đữ liệu phi cấu trúc Dữ liệu cócấu trúc là dit liệu có định dạng chuẩn hóa dé con người cũng như phần mềm có thétruy cập một cách hiệu quả Dữ liệu phi cấu trúc là thông tin không có mô hình dữ liệu

được thiết lập hoặc dữ liệu chưa được sắp xếp theo cách định sẵn

e Ngôn ngữ truy van: DMS cung cấp một ngôn ngữ truy vấn dé người dùng có thé

truy xuất và thao tác dit liệu trong cơ sở dit liệu Các ngôn ngữ truy vấn phô biến bao

gồm SQL và NoSQL

e Bảo mật dữ liệu: DMS cung cấp các chức năng bảo mật dé bảo vệ dit liệu khỏi mat

mát, hỏng hóc hoặc truy cập trái phép Nó bao gồm các biện pháp như xác thực người

dùng, kiểm soát quyền truy cập, mã hóa dữ liệu và theo dõi hoạt động liên quan đến sử

dụng dữ liệu.

DMS cung cấp các tinh năng như tạo, chỉnh sửa và xóa dit liệu, quản lý quyền

truy cập dtr liệu, sao lưu và khôi phục dt liệu, kiểm tra toàn bộ tính năng và bảo mật

dữ liệu cũng như cung cấp các công cụ công cụ phân tích dit liệu dé giúp người dùnghiểu và sử dụng hiệu quả dữ liệu

SQ cs SSS

Do Tuân Duong - B19DCPT035

Trang 21

Đồ án tốt nghiệp CHƯƠNG I: CƠ SỞ LÝ THUYET

1.1.2 Lịch sử hình thành và phát triển của DMS

DMS có một lịch sử dài và phát triển song song với sự tiễn bộ của công nghệ

thông tin và nhu cầu quản lý đữ liệu ngày càng tăng

e Vào cuối những năm 1960 và đầu những năm 1970, xuất hiện hệ quan tri cơ sở dir

liệu đầu tiên Trong giai đoạn nay, DBMS tập trung vào cung cấp một giao diện giữa

cơ sở dữ liệu với người dùng để lưu trữ đữ liệu hiệu quả và bảo mật, và hỗ trợ các tính

năng cơ bản như truy vấn và cập nhật dữ liệu

e Trong những năm 1980 và 1990, với sự phát triển của công nghệ và sự gia tăng

đáng ké về khối lượng dữ liệu, DMS đã tiễn bộ với các tính năng và công nghệ mới,

bao gồm hệ thống quản trị cơ sở dữ liệu phân tán (Distributed Database ManagementSystem - DDBMS) và hệ thống quản trị co sở dữ liệu song song (Parallel DatabaseManagement System - PDBMS) DDBMS là một hệ thống quản lý cơ sở dữ liệu đượcphân tán trên nhiều máy chủ hoặc nút mạng khác nhau và mục tiêu chính là cung cấp

khả năng phân tán dữ liệu và xử lý truy vân hiệu quả trên các nút mạng khác nhau.

e Vào cuối những năm 1990 và đầu những năm 2000, sự phát triển của internet và hệthống quản lý nội dung (Content Management System - CMS) đã mở ra một khía cạnhmới cho DMS CMS là phần mềm quản lý nội dung để tổ chức và tạo môi trường cộngtác thuận lợi nhằm mục đích xây dựng một hệ thống tài liệu và các loại nội dung khác

một cách thống nhất

Khi xu hướng số hóa toàn cầu tiếp tục gia tăng, DMS tiếp tục phát triển với sựxuất hiện của các hệ thống quản lý dit liệu lớn và hệ thống quản lý dữ liệu đám mây

Các công nghệ này cho phép tổ chức va quan ly dir liệu khối lượng lớn và tiếp cận

nhanh lượng thông tin từ các nguồn dữ liệu phong phú khác nhau

1.1.3 Chức năng của DMS

DMS không chỉ là một công cụ quản lý dữ liệu thông thường, mà còn là một giải

pháp toàn diện dé tối ưu hóa việc quan lý và sử dụng dữ liệu Dưới đây là 1 số chức

năng của DMS.

1.1.3.1 Thu thập dữ liệu

Hệ thống DMS cung cấp các công cụ và giao diện để thu thập dữ liệu từ nhiều

nguồn khác nhau gồm các nguồn dữ liệu cấu trúc và các nguồn dữ liệu phi cấu trúc.Đối với các nguồn dữ liệu cấu trúc như cơ sở đữ liệu quan hệ, hệ thống DMS cung cấp

các công cụ đề kết nối và truy vấn dữ liệu từ các hệ thống này Người dùng có thể chỉđịnh các bảng, cột và điều kiện dé thu thập dữ liệu từ cơ sở dữ liệu và đưa chúng vào

hệ thống DMS Ngoài ra, hệ thống DMS cũng hỗ trợ việc thu thập dữ liệu từ các

Do Tuân Duong - B19DCPT035

Trang 22

Đồ án tốt nghiệp CHƯƠNG I: CƠ SỞ LÝ THUYET

nguôn dữ liệu phi câu trúc như tệp tin, email, tài liệu văn bản và các trang web Cac

công cụ này cho phép người dùng xác định các mẫu dữ liệu hoặc quy tắc đề trích xuất

thông tin từ các nguồn này

1.1.3.2 Lưu trữ dữ liệu

DMS cung cấp cơ sở hạ tang dé lưu trữ và quản lý dữ liệu Điều này có nghĩa làDMS cung cấp các công cụ và dịch vụ dé tô chức, lưu trữ, truy xuất và bảo vệ dữ liệu.Một số loại cơ sở dit liệu phô biến mà DMS có thé sử dụng gồm:

© Cơ sở dữ liệu quan hệ: Các hệ thông quan hệ sử dung cấu trúc bảng va quan hệ

giữa chúng để lưu trữ dữ liệu Mỗi bảng đại diện cho một đối tượng hoặc một khía

cạnh của dtr liệu, và các quan hệ được thiết lập thông qua các khóa Các hệ thống quan

hệ pho biến bao gồm MySQL, PostgreSQL, Oracle va SQL Server

© Co sở dit liệu phi quan hệ (NoSQL): Các cơ so dt liệu NoSQL không sử dụng mô

hình quan hệ truyền thống và thường được thiết kế đề xử lý đữ liệu phi cấu trúc hoặcnguồn dữ liệu lớn Có nhiều loại cơ sở dit liệu NoSQL, bao gồm:

- Cơ sở dt liệu cột (Columnar): Lưu trữ dữ liệu theo dạng cột thay vì theo dạng hang.

- Cơ sở đữ liệu tải liệu (Document): Lưu trữ dữ liệu theo định dang tải liệu, thường là JSON hoặc BSON Ví dụ: MongoDB.

- Cơ sở dit liệu khóa - giá trị (Key-Value): Lưu trữ dữ liệu dưới dạng cấu trúc cặp

khóa- giá tri.

- Hệ thống lưu trữ đám mây: DMS cũng có thể tích hợp với các dich vụ lưu trữ đám

mây như Amazon S3, Google Cloud Storage hoặc Microsoft Azure Blob Storage Cácdịch vụ này cung cấp khả năng lưu trữ linh hoạt, mở rộng và bảo mật cho đữ liệu

1.1.3.3 Quản lý đữ liệu

DMS có chức năng quản lý dit liệu, bao gồm xác định cấu trúc dit liệu, quản lý

quyền truy cập, kiểm soát dit liệu, và tổ chức dir liệu theo cách phù hợp với nhu cầu

của tô chức.

e Xác định cau trúc dữ liệu: DMS giúp xác định và định nghĩa cau trúc dit liệu thông

qua việc tạo các bảng, cột, quan hệ và thuộc tính Điều này giúp đảm bảo rằng dt liệu

được tổ chức theo các quy tắc và chuẩn mực cụ thé, và dé dàng truy cập và tìm kiếm.Qua việc xác định cấu trúc đữ liệu, DMS hỗ trợ trong việc mô tả và biểu diễn mối

quan hệ giữa các thành phần dir liệu, đặc biệt là trong môi trường cơ sở dt liệu quan

hệ Việc quản lý và tạo các quan hệ giữa các bảng, cột và thuộc tính theo cách hợp lý

giúp đảm bảo tính nhất quán và hiệu quả khi truy cập và tìm kiếm dữ liệu

SS

Do Tuân Duong - B19DCPT035

Trang 23

Đồ án tốt nghiệp CHƯƠNG I: CƠ SỞ LÝ THUYET

® Kiểm soát dữ liệu: DMS cung cấp chức năng quản lý quyền truy cập dựa trên vai trò

và quyền hạn của người dùng Điều này giúp hạn chế truy cập không đúng và đảm bảorằng mỗi người dùng chi có quyền truy cập và sửa đổi dữ liệu trong phạm vi đượcphân quyền DMS cho phép người quản trị thiết lập các vai trò khác nhau và gán các

quyền truy cập cụ thé cho mỗi vai trò Việc này giúp đơn giản hóa quá trình quản ly

quyền hạn và chia sẻ thông tin DMS giúp kiểm soát dit liệu bằng cách thiết lập các

chính sách bảo mật và quản lý quy trình.

© 7ổ chức dữ liệu: DMS cho phép tổ chức dữ liệu theo cách phù hợp với nhu cầu cụ

thé của tổ chức Ví dụ, nó có thé cung cấp các tính năng như phân loại và gắn nhãn dữliệu, tạo các quan hệ giữa các bộ dữ liệu khác nhau, truy van và trích xuất dữ liệu dễ

dang, va tổ chức dữ liệu thành các kho lưu trữ riêng biệt hoặc hệ thống chỉ mục

1.3.3.4 Truy xuất dữ liệu

DMS cung cấp các công cụ và giao diện dé truy xuất va xử lý dữ liệu một cách

dễ dàng và hiệu quả Người dùng có thê thực hiện các truy vấn, tìm kiếm, phân tích vàbáo cáo dir liệu.

® Truy vấn dữ liệu: DMS cung cấp các công cụ và giao diện cho phép người dùng viết

và thực thi các truy van dữ liệu Các ngôn ngữ truy van thông dụng được hỗ trợ trongcác hệ thống quan hệ, trong khi các cơ sở dữ liệu phi quan hệ có thé sử dụng các ngôn

ngữ truy vấn tương thích Người dùng có thé thực hiện các truy van dé trích xuất dữ

liệu, thay đổi dữ liệu và thực hiện tính toán DMS cung cấp các tính năng tìm kiếm déngười dùng dé dàng tìm kiếm và định vi dit liệu theo các tiêu chí khác nhau

e Xử Ly dữ liệu: DMS cung cấp các công cụ và tính năng dé xử lý dữ liệu Các tínhnăng này có thể bao gồm chức năng biến đổi đữ liệu, ghép nói, phân tích và tính toán

Người dùng có thé áp dụng các quy tắc và thuật toán dé tiền xử lý, biến đổi hoặc làmsạch dit liệu trước khi xử lý DMS cho phép người dùng thực hiện các phép biến đổi

dữ liệu như chuyên đôi định dạng, chuẩn hóa dữ liệu, và áp dụng các phép toán trên ditliệu DMS cung cấp công cụ dé ghép nối dữ liệu từ nhiều nguồn khác nhau, cho phép

tổng hợp thông tin từ nhiều nguồn để tạo ra tập dữ liệu toàn diện hơn

e Báo cáo và phân tích dữ liệu: DMS cung cấp cho người dùng không chi khả năng

tạo báo cáo và phân tích dữ liệu từ dữ liệu có sẵn mà còn mở ra một loạt các tính năng

và công cụ phân tích mạnh mẽ Các công cụ phân tích dữ liệu tích hợp động cơ học va

trực quan hóa dữ liệu, cho phép thực hiện các thuật toán phân tích phức tap dé tìm ra

thông tin ý nghĩa va kip thời từ dữ liệu Ngoài việc tạo báo cáo và phân tích, DMS

cũng cung cấp khả năng tích hợp các công cụ phân tích dữ liệu bên ngoài, giúp người

dùng mở rộng khả năng phân tích và tìm hiêu sâu hơn về đữ liệu của họ.

_>—————>——

Đồ Tuân Dương - B19DCPT035

Trang 24

Đồ án tốt nghiệp CHƯƠNG I: CƠ SỞ LÝ THUYET

mm

Do Tuân Dương - BI9DCPT035

Trang 25

Đồ án tốt nghiệp CHƯƠNG I: CƠ SỞ LÝ THUYET

1.1.4 Uu điểm, nhược điểm của DMS

e Ưu điểm

- Tăng cường quản lý dữ liệu: DMS giúp t6 chức tô chức và quan ly dit liệu một

cách hiệu quả Nó cho phép người dùng xác định, phân loại và lưu trữ dữ liệutheo cách có tô chức Điều này giúp tăng tính toàn vẹn và tin cậy cua đữ liệu,

đồng thời cải thiện khả năng tìm kiếm, truy xuất thông tin

- Tối wu hóa quy trình làm việc: Băng việc quan ly dit liệu một cách hiệu quả,

DMS giúp cải thiện quy trình làm việc tổ chức Nó cho phép tổ chức tô chức,chia sẻ và truyền thông tin một cách nhanh chóng va dé dàng giữa các bộ phận vànhân viên khác nhau Điều này kéo theo sự tăng cường hiệu năng và hiệu quả

làm việc.

- Bảo mật dữ liệu: Một yêu tỗ quan trong của DMS là đảm bảo tính bao mật và

an ninh cho dữ liệu Hệ thống DMS được thiết kế để quản lý và kiểm soát quyềntruy cập vào đữ liệu, đồng thời đảm bảo rằng đữ liệu không bị rò rỉ hoặc truy cập

trái phép Điều này đảm bảo rằng thông tin quan trọng của tô chức được bảo vệ

- Hỗ trợ đưa ra quyết định dựa trên dữ liệu: DMS cung cấp công cụ và phântích dir liệu dé tô chức có thé sử dụng thông tin dé đưa ra quyết định quan trọng

Nó cho phép thực hiện các truy van và phân tích dữ liệu dé hiểu rõ hơn về môhình và xu hướng, từ đó tăng cường khả năng dự đoán và ra quyết định chính

xác.

e Nhược điêm

- Chi phí: Sử dụng DMS có thé đòi hỏi một khoản đầu tư ban đầu đáng kê Cài

đặt, tùy chỉnh và duy trì hệ thống DMS có thê tốn kém và đòi hỏi sự đầu tư tài

chính liên tục.

- Độ phức tap: DMS có thé có một độ phức tạp cao đối với người sử dụngkhông quen thuộc với công nghệ hoặc không có đủ kỹ năng, kỹ thuật Điều này

có thể phản ánh qua việc cài đặt, tùy chỉnh và quản lý DMS, cũng như việc thực

hiện các thao tác truy vấn, phân tích dữ liệu và báo cáo trong môi trường hệ

thống phức tạp

- Quản ly và duy trì: DMS đòi hỏi sự quản lý và duy trì liên tục dé đảm bảo hiệunăng và tính khả dụng của hệ thống Quản lý và duy trì DMS bao gồm việc giám

sát hoạt động của hệ thống, kiểm tra thường xuyên dé phát hiện va sửa lỗi Qua

trình này bao gồm việc thực hiện kiêm tra định kỳ và thử nghiệm dé phát hiện và

-ềè——————— Đồ Tuân Dương - B19DCPT035

Trang 26

Đồ án tốt nghiệp CHƯƠNG I: CƠ SỞ LÝ THUYET

sửa chữa các lỗi cũng như vấn đề bảo mật trong hệ thống DMS Các bản vá và

cập nhật phần mềm cũng thường được triển khai dé khắc phục lỗi

1.1.5 Ủng dụng của DMS

DMS có ứng dụng rộng rãi trong nhiều lĩnh vực và ngành công nghiệp khác

nhau Dưới đây là một số ứng dụng phô biến của DMS trong một số lĩnh vực cụ thé:

1.1.5.1 DMS trong lĩnh vực y tế

DMS có rất nhiều ứng dụng trong lĩnh vực y tế Dưới đây là một số ứng dụng mà

DMS có thé được áp dụng trong ngànhy tế:

® Quản lý dữ liệu y tế: DMS có thê giúp tổ chức và quản lý các hồ sơ bệnh nhân mộtcách hiệu quả Nó cho phép ghi, lưu trữ và truy xuất thông tin bệnh nhân một cách

nhanh chóng va an toàn.

e 7ruy cập và chia sẻ thông tin y tế: DMS cho phép truy cập và chia sẻ thông tin y tế

dé dàng Bác si và nhân viên y tế có thé truy xuất thông tin từ bat kỳ nơi nào và chia sẻ

nhanh chóng các tài liệu y tế quan trọng

e Bao mật dữ liệu y tế: DMS đảm bảo an toàn va bảo mật dữ liệu y tế Nó cung cấp

các biện pháp bảo mật đáng tin cậy như quản lý quyên truy cập, mã hóa dữ liệu vagiám sát hoạt động để bảo vệ thông tin y tế quan trọng của bệnh nhân

Ví dụ tiêu biểu về hệ thông DMS có trong lĩnh vực y tế là hệ thống quản lý bệnh

viện Viettel-HIS được phát triển bởi Viettel Group

THONG BAO NANG CAP HỆ THONG

Kinh gửi quý khách hang

Hệ thống mới thực hiện nang cấp một số tính năng mới như: Quản lý bệnh ân ngoại trú, bệnh: ân bệnh nhân tiếu đường, tang huyết áp; Quản lý bệnh án nội trú; Quản lý nhắn tin; Quan lý ban thuốc; Bao cáo bệnh không lây nhiễm.

Quý khách h ng liên hệ CSKH để ăn ch

Hình 1 1 Hệ thong quản ly bệnh viện Viettel-HIS

Hệ thống quản lý bệnh viện Viettel-HIS giúp nâng cao quản lý và cải thiện dịch

vụ chăm sóc sức khỏe cho bệnh nhân Nó tạo điều kiện dịch vụ chăm sóc sức khỏe cho

bệnh nhân Nó tạo điều kiện cho việc tô chức va quản lý hiệu quả các quy trình y tế,

———-——

Do Tuân Dương - B19DCPT035

Trang 27

Đồ án tốt nghiệp CHƯƠNG I: CƠ SỞ LÝ THUYET

tăng cường sự kết nối giữa các bộ phận trong bệnh viện và tăng cường khả năng phân

tích và sử dụng thông tin y tế

1.1.5.2 DMS trong lĩnh vực tài chính

DMS trong lĩnh vực tài chính cung cấp một hệ thống dé quản lý dữ liệu tài chính

một cách hiệu quả và an toàn Dưới đây là một số ứng dụng của DMS trong lĩnh vựctai chính:

® Lưu trữ và tổ chức tài liệu: DMS cho phép lưu trữ và tổ chức dit liệu tài chính, bao

gồm báo cáo tài chính, hợp đồng, hồ sơ khách hàng, v.v Hệ thống sắp xếp và phân

loại tài liệu theo các tiêu chí như ngày tháng, loại tài liệu, hoặc từ khóa, giúp dễ dàng

® Quan ly phiên ban và lịch sử: DMS ghi lại lịch sử chỉnh sửa và phiên bản của các

tài liệu tài chính, cho phép theo dõi các thay đổi và khôi phục phiên bản trước đó khi

cân thiệt.

® Luông công việc tự động: DMS có thé tạo luồng công việc tự động dé theo dõi và

xử lý các quy trình liên quan đến tài liệu tài chính, như duyệt hợp đồng hoặc xác nhận

QUAN TRI DOANH NGHIỆP

Cung cấp các giải pháp tiện lợi, toàn điện, nhanh chóng,

chính xác giúp chuyển đổi số cho doanh nghiệp.

Đỗ Tuấn Dương - B19DCPT035

Trang 28

Đồ án tốt nghiệp CHƯƠNG I: CƠ SỞ LÝ THUYET

Một trong những hệ thống ndi bật trong lĩnh vực tài chính là hệ thống quản lý tàichính Viettel Vess phát triển bởi Viettel Group dé hỗ trợ quản lý tài chính Hệ thongnày nhằm mục tiêu cung cấp các công cụ và quy trình tổ chức dé quan lý và kiểm soát

các khía cạnh tài chính, bao gồm quan lý nguồn lực tài chính, quản lý lưu chuyển tiền

tệ, quản lý tài sản và liên kết với các hoạt động kế toán Hệ thống quản lý tài chính

Viettel Vess có thé tùy chỉnh cho phù hợp với các yêu cầu cụ thé của từng tổ chức.Việc sử dụng hệ thống này cung cấp cho tô chức một phương pháp hiệu qua dé quản ly

và kiểm soát tài chính, gia tăng khả năng phân tích và sử dụng thông tin tài chính

1.1.5.3 DMS trong lĩnh vực giáo duc

Trong lĩnh vực giáo dục, DMS có thể đóng vai trò quan trọng trong việc tô chức

và truy xuất thông tin liên quan đến học sinh, giáo viên và quy trình giảng dạy

® Bao mật và quản lý quyên truy cập: DMS cung cấp các phương tiện bảo mật dé bao

vệ dữ liệu giáo đục nhạy cảm và quản lý quyền truy cập vào tài liệu

e Tối ưu hóa tìm kiếm và phân loại: DMS cung cap khả năng tìm kiếm nhanh chóng

và hiệu quả các tài liệu giáo dục Băng cách sắp xếp và phân loại tài liệu theo các tiêuchí như môn học, lớp học, chủ đề hoặc từ khóa, giáo viên và học sinh có thể tìm kiếm

và truy cập vào tài liệu một cách dễ dàng và nhanh chóng.

e@ Theo doi và đánh giá: DMS cho phép việc theo đõi và đánh giá việc sử dụng tài liệugiáo dục Giáo viên có thể xem được tài liệu nào được truy cập nhiều nhất, tài liệu nào

được chia sẻ rộng rãi và đánh giá hiệu quả của tài liệu trong quá trình giảng dạy.

Hình 1 3 Hệ thong SMAS quản lý giáo duc

Hệ thống quản lý giáo dục SMAS là một hệ thống phần mềm được phát triển để

quản lý và theo dõi các hoạt động giáo dục của các tổ chức giáo dục Hệ thống quản lý

Đỗ Tuấn Dương - B19DCPT035

Trang 29

Đồ án tốt nghiệp CHƯƠNG I: CƠ SỞ LÝ THUYET

giáo dục SMAS tối ưu hóa quy trình quản lý giáo dục, cung cấp các công cụ quantrọng để quan lý thông tin, hoạt động va hỗ trợ các hoạt động giáo dục Ngoài ra,SMAS có thé tích hợp các tính năng tương tác giữa giáo viên va học sinh, bao gồm hệthống quản lý điểm, và phản hồi liên quan trong quá trình giảng dạy và học tập

1.2 Tổng quan về RESTful API

1.2.1 Giới thiệu về RESTful API

RESTful API là một giao diện lập trình ứng dụng tuân thủ các ràng buộc va quyước kiến trúc REST được sử dụng trong việc giao tiếp giữa máy chủ và máy khách

REST là viết tắt của REpresentational State Transfer, nó được tạo ra bởi nhà khoa học

máy tinh Roy Fielding.

RESTful API duge chia lam 2 phan:

e REST (REpresentational State Transfer): Thuong duoc viết là RESTful, đây là một

kiểu kiến trúc chuyên đổi cấu trúc dữ liệu để viết API và tạo ra sự giao tiếp cho cácmáy bằng cách sử dụng phương thức HTTP, một giao thức truyền tải đữ liệu thông qua

mạng.

e API (Application Programming Interface): La tập hợp các quy tắc va cơ ché với

mục đích hỗ trợ sự tương tác giữa ứng dụng, thành phan này với ứng dung

1.2.2 Cách hoạt động của RESTful API

Máy khách Yêu câu gửi di (REST request) R Máy chủ

(Cllent) Phương thức HTTP (GET, POST, PUT, DELETE) + Đường dẫn URL (Server)

Co sở dữ liệu

Kết quả trả về (REST response)

JSON/XML

Hình 1 4 Luong hoạt động của RESTful API

Khi phía máy khách gửi yêu cầu bằng một trong các phương thức HTTP như

trên, máy chủ sẽ nhận được thông tin về các tham số và dữ liệu truyền vào của request

đó, xử lý thông tin và cuối cùng sẽ trả về kết quả gọi là phản hồi dưới dạng XML hoặc

JSON, với JSON là hình thức phô biến Lúc này, phía máy khách nhận được phản hồi

và sẽ hiển thị đữ liệu tương ứng RESTful API sử dụng giao thức HTTP được xác địnhbởi giao thức RFC 2616.

e GET: truy xuất dữ liệu.

e POST: tạo tài nguyên nào đó.

—— Đồ Tuân Dương - B19DCPT035

Trang 30

Đồ án tốt nghiệp CHƯƠNG I: CƠ SỞ LÝ THUYET

e PUT: thay đối trạng thái, cập nhật tài nguyên bao gồm các tệp, khối, đối tượng

e DELETE: xóa bỏ tai nguyên.

-————-Đồ Tuân Dương - B19DCPT035

Trang 31

Đồ án tốt nghiệp CHƯƠNG I: CƠ SỞ LÝ THUYET

1.2.3 Uu điểm, nhược điểm của RESTful API

e Ưu điểm

- Tương thích cao: RESTful API sử dụng HTTP, một giao thức mà hau hết các

hệ thống và thiết bị đều hỗ trợ, giúp cho việc tương thích với các hệ thống khác

trở nên dễ dàng hơn.

- Tài nguyên dé dàng truy cập: RESTful API sử dung các địa chi URL để truy

cập các tài nguyên, giúp cho việc truy cập và sử dung dir liệu trở nên dé dàng.

- Tương thích với các ngôn ngữ lập trình khác nhau: RESTful API sử dụngJSON hoặc XML để trả về đữ liệu, giúp cho việc tương thích với các ngôn ngữ

lập trình khác nhau trở nên dễ dàng hơn.

e Nhược điểm

- Chi phí vận hành: Phát triền và chỉnh sửa khá cao và tốn kém Việc vận hànhmột Restful API đòi hỏi tài nguyên đều có thể tăng chỉ phí vận hành

- Khả năng mở rộng: Khi số lượng người dùng và lưu lượng truy cập tăng lên,

RESTful API có thé gặp phải van đề tốc độ xử lý yêu cầu

- Bảo mật: RESTful API cung cấp cho các ứng dụng một giao diện lập trình dé

sử dụng, tuy nhiên điều này cũng đồng nghĩa với việc có thé gây ra những van dé

về bảo mật

1.3 Tổng quan về mã trạng thái HTTP

1.3.1 Giới thiệu về HTTP

Khi được nhận và phiên dịch 1 yêu cầu HTTP từ phía máy chủ, một mã trạng thái

HTTP sẽ được máy chủ cung cấp dé đáp ứng yêu cầu đó của họ Nó bao gồm cácthông số kỹ thuật khác va 1 số code bổ sung được sử dụng trong 1 số ứng dụng phổ

biến của giao thức HTTP Chữ số đầu tiên của mã trạng thái HTTP chỉ định 1 trong 5

loại phản hồi quy chuẩn Các cụm tin nhắn được hiển thị chi mang tính tượng trưng,nhưng cũng có thé cung cấp bat kỳ thông tin bổ sung nào dé chúng ta có thé đọc được.Trừ khi có những chỉ định khác, mã trạng thái HTTP được xem như 1 phần của quychuẩn HTTP/1.1 (RFC 7231)

1.3.2 Hạng mục các mã trạng thai HTTP

Tất cả các mã trạng thái HTTP phản hồi được chia ra thành 5 hạng mục riêng biệt

và là các số nguyên có 3 chữ số 5 hạng mục đó bao gồm:

® Ixx (100 — 199): Phản hồi thông tin — Yêu cầu đã được chấp nhận và quá trình xử lý

yêu cầu đang được tiếp tục

————

Đồ Tuân Dương - B19DCPT035

Trang 32

Đồ án tốt nghiệp CHƯƠNG I: CƠ SỞ LÝ THUYET

e 2xx (200 — 299): Phản hồi thành công — Yêu cầu đã được máy chủ tiếp nhận, hiểu

và xử lý thành công.

e 3xx (300 — 399): Điều hướng — Phía client cần thực hiện hành động bồ sung dé hoàn

tât yêu câu.

e 4xx (400 — 499): Lỗi phía máy khách — Yêu cầu không thé hoàn tất hoặc yêu cầu

chứa cú pháp không chính xác 4xx sẽ hiện ra khi có lỗi từ phía máy khách do yêu cầu

đưa ra không họp lệ.

e 5xx (500 — 599): Lỗi phía máy chủ — Máy chủ không thé hoàn thành yêu cầu được

cho là hợp lệ Khi 5xx xảy ra, chỉ có thể đợi để bên hệ thống máy chủ xử lý

1.4 Tổng quan về Golang

1.4.1 Giới thiệu về Golang

Go, được viết là Golang, là một ngôn ngữ lập trình mã nguồn mở được phát triểnbởi Google Ngôn ngữ này được thiết kế với mục tiêu tạo ra một ngôn ngữ lập trình

đơn giản, dé đọc và dé hiểu, nhằm tăng cường năng suất của các lập trình viên Vớimục tiêu tối ưu hóa hiệu năng và đơn giản hóa quá trình phát triển phần mềm, Go đãnhanh chóng trở thành một trong những ngôn ngữ lập trình phổ biến nhất trong cộngđồng phát triển phần mềm

1.4.2 Đặc điểm của Golang

e Hiệu năng cao: Golang được thiết kế dé tối ưu hoá hiệu năng và xử lý đồng thời.Golang có cơ chế quản lý bộ nhớ tự động dé quản lý bộ nhớ, tự động giải phóng bộ

nhớ đã không còn sử dụng để tái sử dụng cho các đối tượng khác Golang hỗ trợ kháiniệm goroutine, cho phép thực hiện nhiều tác vụ đồng thời trong một chương trình, mà

không cần tạo ra một luồng riêng biệt cho mỗi tác vụ Scheduler trong Go là một bộ

phan cua runtime, có trách nhiệm quản lý và điêu phôi việc chạy của các goroutine.

e Tinh đơn giản và gọn nhẹ: Golang là 1 ngôn ngữ lập trình có pháp đơn giản va dé

đọc, giúp giảm thiểu sai lầm và tăng năng suất lập trình Golang tập trung vào đơngiản hóa ngôn ngữ bằng việc loại bỏ một số tính năng phức tạp Golang có một bộ

quy tắc mặc định được định nghĩa rõ ràng, gồm các tiêu chuẩn định dạng code và cúpháp Điều này giúp đảm bảo rằng mã nguồn được viết theo một quy tắc chung

e Cung cấp bộ thư viện mạnh mẽ: Golang cung cấp một bộ thư viện mạnh mẽ dé xây

dựng ứng dụng web Thư viện chuân của Golang có hỗ trợ xử lý HTTP, xử lý

template, xử lý form, và nhiều tính năng khác giúp phát triển ứng dụng web nhanhchóng va dé dàng Golang cũng cung cấp package "html/template" dé xử ly templates

giúp tạo ra giao diện web một cách dễ dàng và an toàn Golang cũng có package

———-Đồ Tuân Dương - B19DCPT035

Trang 33

Đồ án tốt nghiệp CHƯƠNG I: CƠ SỞ LÝ THUYET

"net/url" dé xử lý form và xử lý các thao tác liên quan đến URL, giúp làm việc với dit

liệu form trở nên thuận tiện hơn.

® Tính bảo mật cao: Golang đặc biệt chú trọng đến bao mật và an toàn Ngôn ngữ nàycung cấp các tính năng dé ngăn chặn các lỗi phát sinh trong quá trình chạy ứng dụng.Golang sử dụng kiểm tra kiểu tĩnh dé phát hiện các lỗi ngay trong quá trình biên dịch.Ngôn ngữ sẽ kiểm tra xem kiểu đữ liệu của các biến và hàm có phù hợp không, từ đógiúp ngăn chặn nhiều lỗi phô biến Golang có một cơ chế xử lý lỗi an toàn giúp ngăn

chặn việc sử dụng các con trỏ không an toàn và truy cập bộ nhớ một cách không an

toàn Golang đi kèm với một bộ thư viện chuẩn được thiết kế với sự chú trọng đến tính

- Quản lý tài nguyên bat tiện: Mặc dù Golang hỗ trợ quản lý bộ nhớ tự động,

nhưng trong một số trường hợp, việc kiểm soát cách sử dụng bộ nhớ và tài

nguyên còn gây khó khăn.

- Hạn chế trong việc phát triển GUI: Golang không cung cấp một cách chính

thức dé phát triển giao diện người dùng đồ họa (GUI)

- Hạn chế trong việc xử lý chuối: Golang không cung cấp những tính năngmạnh mẽ cho xử lý chuỗi so với một số ngôn ngữ khác

1.5 Tổng quan về Redis cache

1.5.1 Giới thiệu về Redis cache

Redis là viết tắt của Remote Dictionary Server và được phát triển dựa trên kiến

trúc cơ sở dữ liệu NoSQL Với Redis cache, dữ liệu từ cơ sở dữ liệu chính được lưu

trữ tạm thời trong Redis, cho phép các truy vấn sau đó được phục vụ từ bộ nhớ đáp

—————-Đồ Tuân Dương - B19DCPT035

Trang 34

Đồ án tốt nghiệp CHƯƠNG I: CƠ SỞ LÝ THUYET

ứng nhanh chóng Điêu nay giúp giảm thời gian truy cập vào cơ sở dir liệu chính và cải thiện hiệu năng của ứng dụng.

1.5.2 Đặc điểm của Redis cache

Một số đặc điểm quan trọng của Redis cache bao gồm:

e Tóc độ truy cập cao: Redis Cache hoạt động trong bộ nhớ chính (in-memorycaching), nghĩa là dữ liệu được lưu trữ trực tiếp trong bộ nhớ chứ không được lưu trữ

trên đĩa cứng.

e Khả năng lưu trữ dữ liệu phức tạp: Redis hỗ trợ cau trúc dir liệu phô biến là bảngbăm Bảng băm là một cau trúc di liệu có khả năng lưu trữ các cặp khóa-giá trị, chophép truy xuất giá trị theo khóa một cách hiệu quả

e HỖ trợ các phép toán atomic: Redis Cache có khả năng hỗ trợ các phép toán atomic.Atomic là các phép toán hoặc hành động mà không thé bị chia cắt hoặc gián đoạn

Redis Cache hỗ trợ nhiều phép toán atomic như tăng/giảm giá trị, thêm/xóa phần tử và

hợp nhất dữ liệu

e Khả năng mở rộng dé dàng: Redis hỗ trợ mô hình mở rộng theo chiều ngang băng

cach tạo ra các replica dé phân phối tải va tăng khả năng chịu tải của hệ thong Replicatrong Redis Cache là các nút được tạo ra để sao chép dir liệu từ nút chính và giúp

phân phối tải và tăng khả năng chịu tải của hệ thống

1.5.3 Cơ chế hoạt động của redis cache

Trả dữ liệu

= vờ

Gửi yêu cầu Không Truy vẫn dữ liệu ` LYAe m

lay dữ liệu 3 Redis cahe cguyng

liệu

Se

Ghi dữ liệu Trả dữ liệu

Hình 1 5 Cơ chế hoạt động của Redis cache

Khi một yêu cầu truy van dữ liệu được gửi tới Redis cache, Redis kiém tra xem

khóa tim kiếm có tồn tại hay không trong bộ đệm Nếu khóa tồn tại, Redis trả về giá trị

tương ứng với khóa đó Khóa hợp hợp không tồn tại, Redis sẽ không trả về dữ liệu mà

chờ yêu cầu đi tiếp đến nguồn chính dit liệu (như cơ sở dit liệu) dé truy vấn và đưa dữ

liệu vào bộ đệm trước khi trả lời yêu câu lại câm đâu.

1.5.4 Các kiêu dữ liệu của Redis

———_-Đồ Tuân Dương - B19DCPT035

Trang 35

Đồ án tốt nghiệp CHƯƠNG I: CƠ SỞ LÝ THUYET

Redis là một máy chủ cấu trúc đữ liệu Redis cung cấp một tập hợp các loại dữ

liệu gôc giúp giải quyêt nhiêu vân đê khác nhau:

e Kiểu dữ liệu Strings: Redis Strings lưu trữ các chuỗi byte, bao gồm văn bản, đối

tượng được tuần tự hóa và mảng nhị phân

e Kiểu dữ liệu List: Kiéu dữ liệu danh sách là danh sách liên kết của các giá trị chuỗi.

Danh sách thường được sử dụng để triển khai ngăn xếp và hàng đợi và xây dựng quản

lý hàng đợi cho hệ thống

e Kiểu dữ liệu Set: Redis Set là một tập hợp các chuỗi duy nhất không có thứ tự Có

thể sử dụng bộ Redis dé theo dõi các mục duy nhất biéu thị các mối quan hệ

e Kiểu dữ liệu Hash: Redis Hash là các loại bản ghi được cấu trúc dưới dạng tập hợp

các cặp giá trị trường Có thé sử dụng hàm băm dé biểu diễn các đối tượng cơ bản và

dé lưu trữ các nhóm bộ đếm, cùng nhiều thứ khác

1.5.5 Tương tác với dữ liệu Redis

1.5.5.1 Tìm kiếm và truy vấn

e Tim kiếm văn bản hoàn chỉnh: Redis vôn không hỗ trợ full-text search Tuy nhiên,

có thé tích hợp Redis với các công cụ tìm kiếm bên ngoài hoặc tạo chỉ mục tìm kiếm

riêng băng cấu trúc dữ liệu Redis Ngoài ra, Redis cung cấp các cấu trúc dữ liệu nhấtđịnh như Sorted Sets hay Sets có thé được sử dụng dé lưu trữ và truy van thông tin văn

bản một cách hiệu quả Điều này có thể cho phép người dùng tạo chỉ mục tìm kiếmriêng bang cách sử dụng các cấu trúc dit liệu và thuật toán phù hợp trong Redis

© Chỉ mục phụ: Redis không có chỉ mục phụ tích hợp như cơ sở dữ liệu truyền thống.

Tuy nhiên, có thể tạo chỉ mục phụ của riêng bang cach su dung cấu trúc đữ liệu

Redis.sử dụng các cau trúc di liệu mạnh mẽ của Redis như Sorted Sets, Sets và

Hashes Việc tạo chỉ mục phụ này có thé cải thiện khả năng truy cập và tìm kiếm dữ

liệu một cách hiệu quả trong ứng dụng.

1.5.5.2 Kha năng lập trình

Redis cung cấp khả năng lập trình thông qua việc hỗ trợ tập lệnh Lua Lua là mộtngôn ngữ kịch bản nhẹ được nhúng trong Redis Với tập lệnh Redis Lua, có thé thực

thi các hoạt động và logic phức tạp ở phía máy chủ Tập lệnh Redis Lua cho phép thực

hiện nhiều thao tác khác nhau trên dit liệu Redis Có thé sử dụng các lệnh Redis trongtập lệnh Lua của mình để tương tác với kho lưu trữ dữ liệu

1.5.5.3 Nhóm thao tác

Transaction trong Redis được sử dụng để nhóm một tập hợp các câu lệnh lại với

nhau và đảm bảo rằng các câu lệnh này được thực hiện theo một cách nguyên tử Tức

-—————-Đồ Tuân Dương - B19DCPT035

Trang 36

Đồ án tốt nghiệp CHƯƠNG I: CƠ SỞ LÝ THUYET

là, không có câu lệnh nào trong nhóm thao tác bị gián đoạn bởi các câu lệnh khác.

Nhóm thao tác trong Redis cho phép thực thi nhiều lệnh như một thao tác duy nhất

——.——

Đỗ Tuấn Dương - B19DCPT035

Trang 37

Đồ án tốt nghiệ CHƯƠNG I: CƠ SỞ LÝ THUYET

thông điệp

Hình 1 6 Cơ chế hoạt động của Redis pub/sub

Redis Pub/Sub hoạt động bằng cách cho phép các ứng dụng đăng ký vào các

kênh cụ thé dé nhận thông điệp từ các Publisher (người phát thông điệp) Điều này chophép các ứng dụng gửi và nhận các thông điệp qua các kênh mà các ứng dụng khác có

thể đăng ký để lắng nghe, tạo ra mô hình liên lạc linh hoạt và mở rộng Khi một

Publisher gửi một thông điệp tới một kênh, các Subscriber được đăng ký với kênh đó

sẽ nhận được thông điệp đó và có thé xử lý dit liệu tương ứng Điều này làm cho RedisPub/Sub trở thành một công cụ linh hoạt cho việc truyền tải thông tin từ nhiều nguồn

tới nhiều điểm đến một cách hiệu quả

e Các ứng dụng gửi thông điệp bằng cách thông báo (publish) thông điệp vào mộtkênh (channel) cụ thé

e Các ứng dụng khác có thé đăng ký vào kênh đó dé lang nghe thông điệp.

e Khi một thông điệp được thông báo vào kênh, Redis sẽ gửi thông điệp đó đến tất cả

các ứng dụng đã đăng ký lắng nghe trên kênh đó

1.5.5.5 Các thao tác với tập lệnh

Redis lưu trữ dữ liệu dưới dạng khóa- giá trị Dưới đây là một số thao tác tập lệnh

cơ ban dé làm việc với Redis:

e Lưu trữ và truy xuất dữ liệu:

- SET key value: Thiết lập giá trị của một key

- GET key: Truy xuất giá trị của một key

- DEL key: Xóa một key và giá trị liên kết

———— Đồ Tuân Dương - B19DCPT035

Trang 38

Đồ án tốt nghiệp CHƯƠNG I: CƠ SỞ LÝ THUYET

e Các thao tác với hash:

- HSET key field value: Thiết lap giá trị của một trường trong một hash

- HGET key field: Truy xuất giá trị của một trường trong một hash

- HDEL key field: Xóa một trường khỏi một hash.

e Các thao tác với tập lệnh pub/sub:

- PUBLISH: Gửi một thông điệp đến một kênh cụ thé

- SUBSCRIBE: Đăng ký lắng nghe trên một hoặc nhiều kênh

- PSUBSCRIBE: Đăng ký lắng nghe trên một hoặc nhiều kênh dựa trên các mẫu

- Cau trúc dữ liệu phong phú: Redis hỗ trợ nhiều kiều dit liệu Điều này cho

phép lưu trữ và truy van đữ liệu phức tap một cách dé dàng

- Hồ trợ cho các tác vụ phân tích dit liệu: Redis cung cap các câu lệnh phức tap như đêm, sắp xêp, tính toán, và tìm kiêm dữ liệu trên câu trúc đữ liệu phô biên như sorted sets và bitmaps.

- Hỗ trợ cho các tinh huống thời gian thực: Redis được sử dung rộng rai trongcác ứng dụng yêu cầu xử lý tình huống thời gian thực như game, các ứng dụngtrò chuyện và tài liệu thời gian thực khác.

e Nhược điểm

- Giới hạn bộ nhớ: Vì Redis hoạt động trong bộ nhớ, do đó sẽ có giới hạn bộ

nhớ của hệ thống

- Không hỗ trợ truy vấn phức tạp: Redis không cung cấp chức năng truy van

phức tạp như các hệ quản trị cơ sở đữ liệu SQL truyền thống

- Thời gian đáp ứng chậm đối với dữ liệu lớn: Khi lưu trữ đữ liệu lớn, thời gianđáp ứng của Redis có thể chậm hơn so với các cơ sở đữ liệu khác

- Khong hỗ trợ truy vấn phức tạp: Redis được sử dụng dé lưu trữ dữ liệu value và không hỗ trợ truy vấn phức tạp như cơ sở đữ liệu quan hệ truyền thống.Điều này có nghĩa là nó không cung cấp các tính năng như join, truy vấn phức

key-tạp đa bảng và các tính năng khác.

————

Đồ Tuân Dương - B19DCPT035

Trang 39

Đồ án tốt nghiệp CHƯƠNG I: CƠ SỞ LÝ THUYET

1.6 Tổng quan về Nginx

1.6.1 Giới thiệu về Nginx

Nginx là một máy chủ web và cũng là một phần mềm máy chủ proxy nguồn mở

Proxy là một máy chủ trung gian đứng giữa người sử dụng và máy chủ mục tiêu.Nhiệm vụ của chủ proxy là trung gian cho các yêu cầu và truy cập Internet từ người sửdụng đên máy chủ mục tiêu.

1.6.2 Cách thức hoạt động của Nginx

| Tiến trình chính |

7 F : cken

Tiên trình con Tiên trình con Tiên trình con Backend

Sự kiện Sự kiện Sự kiện inl —> Máy chủ web

Sự kié kié kié

May khach ự kiện Sự kiện Sự kiện ae,

le >| M git ứng

Sự kiện Sự kiện Sự kiện =

kié kié Sự kiê

Sự kiện Sự kiện ự kiên gE yer

Hình 1 7 Mo hình hoạt động cua Nginx

Cụ thể Nginx hoạt động như sau :

@ Phía máy chủ Nginx sau khi được bật, nó sẽ chạy tiến trình chính với các quyền

truy cập Sau khi xác định và thiết lập môi trường, Tiến trình chính sẽ tạo các tiến trìnhcon để xử lý yêu cầu và phục vụ đữ liệu cho máy khách Các tiến trình con này làm

việc dưới quyên của tiên trình chính.

@ Phía máy khách gửi yêu cầu lên máy chủ thông qua một cổng, lúc này một kết nốimới được thiết lập

@ Khi một kết nối mới được thiết lập, Nginx sẽ chọn một tiến trình con kha dụng từ

danh sách các tiên trình đã được tạo trước đó Nginx chia công việc cho tiên trình con

đã được chọn.

Do Tuân Dương - B19DCPT035

Trang 40

Đồ án tốt nghiệp CHƯƠNG I: CƠ SỞ LÝ THUYET

@ Tiến trình con xử lý yêu cầu của máy khách đó Quá trình xử lý bao gồm đọc yêu

cầu, kiểm tra cau hình, xử lý định tuyến (routing), và chuyền tiếp yêu cầu tới máy chủ

backend tương ứng đã được định tuyến

@ Nginx xử lý phản hồi từ máy chủ backend và gửi nó lại cho máy khách ban dau,

đảm bảo răng thông tin và nội dung được chuyên đúng cách theo định tuyến đã xác

định trước đó.

@ Néu có phản hôi trong trình tải bộ đệm va nó vẫn còn hiệu lực (chưa hêt hạn hoặc

chưa bị cập nhật), Nginx sẽ trả về phản hồi từ cache mà không cần gửi yêu cầu tới

backend.

1.6.3 Đặc điểm của Nginx

e Hiệu năng và xử lý dong thời cao: Nginx được phát trién dé xử lý hàng ngàn kết nốiđồng thời một cách hiệu quả và tiêu thụ ít tài nguyên hệ thống Một trong những yếu tốquan trọng đăng sau hiệu năng cao của Nginx là kiến trúc không đồng bộ Kiến trúc

không đồng bộ của Nginx cho phép nó xử lý nhiều yêu cầu mạng đồng thời mà khôngcân chờ đợi yêu câu trước đó hoàn thành.

e HỖ trợ cân bang tải: Cân bang tải cho phép mở rộng khả năng chịu tải của hệ thống

bằng cách thêm máy chủ mới vào cụm một cách linh hoạt Khi nhu cầu tăng, Nginx cóthê tự động chia đều lưu lượng truy cập đến các máy chủ mới đề tận dụng tôi đa khả

năng của cả cụm.

e Ho trợ lưu trữ bộ nhớ đệm: Lưu trữ bộ nhớ đệm (Caching) trong Nginx là quá trình

lưu trữ bản sao của các tài nguyên web phổ biến Khi một yêu cầu truy cập tới máy

chủ Nginx được nhận, Nginx sẽ kiểm tra xem liệu tài nguyên tương ứng đã được lưu

trữ trong bộ cache hay chưa.

© HỖ trợ da nên tảng: Nginx phô biến với khả năng xử lý tải trọng lớn và cung cấphiệu năng cao Tính linh hoạt và khả năng triển khai trên nhiều hệ điều hành khác nhau

là một trong những ưu điểm quan trọng của Nginx, làm cho nó phổ biến trong việc xây

dựng và vận hành các ứng dụng web trên nhiều môi trường hệ thống khác nhau

1.6.4 So sảnh Nginx với Apache

Apache Server là một trong những web server phổ biến nhất, đã tồn tai từ lâu.Apache có thé được cấu hình dé phục vụ các trang web tĩnh và động, hỗ trợ nhiều

ngôn ngữ lập trình như PHP và Python Apache cũng đi kèm với nhiều tính năng mạnh

mẽ và kèm theo sự hỗ trợ lớn từ cộng đồng.

—“=—=——=—=—————++ẠAOI ẼẼIÃẼŸEŸEẼ

Đồ Tuân Dương - B19DCPT035

Ngày đăng: 27/03/2024, 21:06

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

TÀI LIỆU LIÊN QUAN

w