Ngồi ra, theo dõi luợt truy cập vàđánhgiátỉlệtuong tác của nguời dùng khi truy cập các website là một điều cầnquantâm.Chủ sở hũu trang web có thể xây dụng các chiến luợc quảng bá nội dun
Trang 1Hội nghị Khoa học trẻ ỉần 5 năm 2023(YSC2023)-ỈUH
YSC5.F007
IUH ONE: CÔNG cụ RÚT GỌN LIÊN KÉT, THEO DÕI LƯỢT TRUY CẶP VÀ ĐÁNH GIÁ TỈ LẸ TƯƠNG TÁC CỦA NGƯỜI DÙNG CHO CÁC WEBSITE
TON LONG PHUOC1*, TOAN DUC vo1, DINH NHAT PHAN1
-Khoa Công nghệ Thông ỉin, Trương Đại học Công nghiệp Thành phổ Hồ Chi Minh
Tóm tăt. Các liên kết (URL) rất cầnthiết trong thế giới kỹ thuật số, vì chúng kết nối người dùng với nhiều
nguồn tàinguyênhực tuyến khácnhau Các liênkết này có thể xuất hiện dưới nhiều hình thức nhưmạng
xã hội, tin nhắn hoặc bảng quảng cáovàtêncủa chúng cũng có vai trò thu hútngười dùngtruy cập nội dung
bên trong Tuynhiên, một sốliên kết quá dài, phức tạp hoặckhông antoàn đối vớingười truy cập Ngoài
vấn đề hên IUH One chophép rút gọn liênkếtnhằmnângcao tính thânthiện và antoànhơn cho người
hong thời gian thực hên nền tảng web.IUH One sửdụng các côngnghệ như: Nextjs, \cst.IS PostgreSQL,
cập,hàng hămliên kết đã đươc rút gọn IUH One cung cấp các tínhnăng giống như cácsản phẩm hiện có như TinyURL và Short.io Trong tương lai, IUH One có kếhoạch hiển khaicác tínhnăng bổsungdựa trên liên kết rút gọn, chẳng hạn như biểu mẫu khảosát và biểu mẫu đăng ký sựkiện, đồngthời cho phép người
dùngtạovà nhúng các hồ sơ mạng xã hộivà thông tin liên hệ của họ vào phần tiểu sử Sản phẩm hiệnđang
nghiệp Thành phốHồ Chí Minh
Từ khóa Công cụ rútgọn liên kết, Liên kết được rútgọn, Thống kê, Theodõi, Phân tích, Bảo mật, Đo
IƯH ONE: LINK SHORTENER, NUMBER OF VISITS TRACKING TOOL, AND USER
Abstract Links (URLs) are essential in the digital world, connecting users to various online resources
visiting websites is a matter of concern Website owners can buildcontent promotion strategies from these
shortener thatconverts along URL into a shorter one, friendlierandsafer IUH One alsoprovides asecurity
mechanism for shortened links; analyzes, and extracts data, parameters from HTTP requests such as IP
Platform,Firebase, etc IUH One is deployed on https://iuh.one with thousands of hits, and hundreds of
shortened links.IUH One offersthe same features as existingproducts, suchas TinyURL, andShort.io In
Student Counseling and support center of theIndustrialUniversity of Ho ChiMinh City
Trang 2Hội nghị Khoa học trẻ lần 5 năm 2023(YSC2023)-ỈƯH
Keywords Link shortened Shortened link, Statistics, Tracking, Analytics, Security, Measuring,
1 GIỚI THIỆU
Các liên kết(URL) rất cần thiết trong thế giới kỹ thuậtsố, vì chúng kết nối nguời dùng với nhiềunguồntài
nhắnhoặcbảng quảng cáovàtêncủa chúng cũng có vai trò thu hút nguời dùngtruy cập nội dung bên trong
Tuy nhiên, một số liên kếtquádài, phức tạphoặckhôngan toàn đối với nguời truy cập Ngoài ra, theo dõi luợt truy cập vàđánhgiátỉlệtuong tác của nguời dùng khi truy cập các website là một điều cầnquantâm Chủ sở hũu trang web có thể xây dụng các chiến luợc quảng bá nội dung từnhũngthông số hiệu suất này
đề tiếp cậnnhiều nguời dùnghon, vì vậy côngcụIUH One đuợc xây dụng để giải quyết các vấn đề trên IUH One cho phép rútgọn liên kếtnhằmnângcao tính thânthiện và an toàn hon cho nguời truy cập Công
cụcòn cung cấp cơchế bảo mậtchocác liên kếtrút gọn; phântích, trích xuất các thamsốtừ yêu cầu HTTP
trên nền tảng web IUH One sử dụng các công nghệ nhu: Nextjs, NestJS, PostgreSQL, Google Cloud
liên kết đã đuơc rút gọn IUH One có thểđuợc tùy chỉnhđểphùhọp với các nhu cầu và tình huốngnghiệp
truòng Đại học Công nghiệp Thành phốHồ ChíMinh Ngoài ra, côngcụ cũng sẽ đuợc triển khai tại các doanh nghiệp muốn triển khai các dịch vụ SEO trên nền tảng Internet
Bài báo của chúng tôi chia làm 5phần: Phần 1 Giới thiệu tổng quancủahệthống;Phần2 Cơ sở lýthuyết; Phần3 Công cụ IUH ONE; Phần4Kiểm nghiệm thụctế và Phần5 Kết luận và hướngpháttriển Trong đó
Phần3làphần đóng góp chính củabàibáo
2 Cơ SỞ LÝ THUYẾT
2.1 Next.js
Nextjs làmộtframeworkmãnguồn mở đuợc xây dụng trên nền tảng React và Node.js, chophép phát triển
nên đon giản hon bằngcách cung cấp cho nhà pháttriển các tínhnăngnhưserver-siderendering, static site
Server-side Rendering
The HTML isgenerated
Trang 3Hội nghị Khoa học trẻ lần 5 năm 2023(YSC2023)-IUH
2.2 NestJS
Pipes, để tạora một kiến trúc ứng dụng rõ ràng và có cấu trúc Nóhỗ trợnhiều loại ứng dụng web,baogồm các ứng dụngweb SPA (Single Page Application),các ứng dụng web truyền thống vàcác API
Exception Filters (2)
Hình 2.2 Vòng đời của một HTTP Request trong Nestjs
2.3 NodeJS
Nócho phép cácnhà phát triểnsử dụng JavaScript để viết các ứng dụngphía server bằng cách cung cấp
và các ứng dụng khác Nó có thểđượcsửdụngđể xửlý các yêu cầu đa luồng, tạocác server Web Socket,
xửlýdữliệu realtime và nhiềutính năng khác
phổ biến nhấthiện nay
Node.js Server
Hình 2.3: NodeJS Event Loop [8]
2.4 Google Cloud Platform
Google Cloud Platform (GCP) làmột nền tảng đám mây được cungcấp bởi Google GCPcungcấp một loạt cácdịchvụ đám mâyđể giúpcác doanh nghiệp và cánhân xây dựng, triển khai và quản lýcác ứng
Trang 4Hội nghị Khoa học trẻ lần 5 nám 2023(YSC2023)-ỈUH
Các dịch vụ của Google Cloud Platform bao gôm máy ảo, lưu trữ, CO' sở dữliệu, máy học (Machine
Learning), Internet kết nốivạnvật(loT), bảomật và nhiều dịch vụ khác GCP được sử dụng rộngrãi để xây dựngcác ứng dụng web, game, dịch vụ và các sảnphẩm khác Nó cung cấp các tính năng như tựđộng
mở rộng,bảo mật, khả năng tiết kiệmchi phí, độ tin cậy cao vànhiều tính năng khácgiúp các kháchhàng
tối ưuhóa công việc của họ trên nềntảngđám mây
Hình 2.4: Một số nhóm dịch vụ phổ biến trên Google Cloud Platform [9]
2.5 Firebase
để pháttriển ứng dụng di độngvà web Friebase cung cấp nhiềutính năng như lưu trữdữliệu,xác thực
Với Friebase, nhà phát triển có thể xây dựngứng dụng diđộng và web một cách nhanh chóng vàhiệu quả hơnbằng cách sử dụng các tính năng có sẵn, giảm thiểu thờigian phát triển vàchi phí Firebase cũng cung cấp các công cụđể quản lýứng dụngvà theodõi hoạt độngcủa nó, giúpnhàphát triển nâng cao trải nghiệm
3IƯH ONE: CÔNG cụ RÚT GỌN LIÊN KẾT, THEO DÕI LƯỢT TRUY CẬP VÀ ĐÁNH GIÁ TỈ LỆ TƯƠNG TẰC CỦA NGƯỜI DÙNG CHO CÁC WEBSITE
3.1 Các thành phần trong hệ thống
Hệ thống IUH One được thiết kế theo môhình Client - Server, trong đó, phíaServer được thiết kế theo kiến trúc Microservicesgồm một hệ thống Backend Monolithic và mộtMicrosendee(Hình 3 ì).
Hình 3.1: Kiến trúc hệ thống IUH ONE
3.2 So1 lược công nghệ sử dụng
về phía Frontend chúng tối sử dụng NextJS một framework sử dụng ngôn ngữ Javascipt, các tính năng như server-side rendering, static site generation, code splitting và pre-fetching, tất cả đếu tích
Trang 5Hội nghị Khoa học trẻ lần 5 năm 2023(Y$C2023)-ỈUH
hợp sẵn trong framework giúp xây dựng hệ thống một cách nhanh chóng, vế Backend, chúng tôi
sử dụng framework NestJS hỗ trợ một số tính năng hữu ích như Middleware, Exception Filters, Authentication và Authorization, WebSocket Bên cạnh đó chúng tôi còn sử dụng một Microsendee là Dispatcher Sendee được viết bằng ngôn ngữ Go có thể đảp ứng các yêu cầu của các hệ thống phân tán và có khả năng xử lý tốt các tác vụ đồng thời.
Hình 3.2: Sơ đồ Use case hệ thống IUH ONE
3.3 Phân tích thiết ke hệ thong
Hệ thống hỗtrợchohai đối tượng chính gồm: Người dùng làngườisử dụng cóđăngký tài khoản trên hệ
Trang 6Hội nghị Khoa học trẻ lần 5 năm 202 3(YSC2023)~ ỈƯH
những liên kết được rút gọn, tạo chiến dịchvà theo dõi các chiến dịch; Người truy cặp (Khách truy cập
Shortened URL
id: text (PK)
originalURL: text
1 archived : boolean
-+- password : text
-+- title : text
■+■ expired At: numeric
userld : text entityld: text faculty: text department: text userType : text updatedAt : timestamp
uid : text email: text emailVerified :text displayName : text photoURL: text
ph one Number : text disable : boolean
ShortLinkBucket
ShortL inkRequest
id :text (PK)
shortLinkld: text
rp : text
requestedTime: timestamp
■+■ httpstatus: int
■+■ browser: text
-+- referrer: text
-+- httpMethod: text
userAgent: text
-t-isHuman: boolean
-+- url: text
-+- social: text
■+■ os : text
■+■ proto : text
-+- ipType : text
-+- Ute: numeric
■+■ device: text
■+■ manufacturer: text
-+- os Version : text
■+- browserVersian : text
-+- deviceType : text
+ deviceModel: text
sb Ort Lin kid: text hostname: text path : text owner: text tags : textg description : text createdAt: timestamp updatedAt: timestamp
Short Li nkReq ue st G eolocat io n
■+■ id :text -►shortLinkRequestld :text country Code :text
•+■ country Na me :text
■+■ city :text -►zip :text
■+■ rat: numeric -Hong numeric
■+■ regioncode :text -+-regionName :text -♦-timezone :text K _
Campaign Cam pa ignPerfomanceTarget
-•-campaignId: text
-►deadline: timestamp
+tagetclicks: numeric
id: text name: text creat e dAt: timestam p owner: text status: text datestart: timestamp dateEnd: timestamp updatedAt: timestamp tags: tex®
description: text
Hình 3.3 Sơ đồ cơ sở dữ liệu
3.4 Mô hình triển khai
Mô hình triển khai Frontend (Frontend DeploymentDiagram)
Trang 7Hội nghị Khoa học trẻ lần 5 nám 2023(YSC2023)-ỈUH
'' iuh.one
Hình 3.4: Sơ đồ triển khai Frontend
sử dụng mộtmạnglưới các máy chủ toàncầu để đưanội dunggầnhơnvớingười dùng cuối và tối ưuhóa tốcđộ tải trang web Trongmô hình triển khai cho IUH ONE,chúng tôi đề xuất dùng Vercelđểhỗtrợ tăng tốc truy xuất link rút gọn (Hình 3.4)
Mô hình triển khai Backend (Backend Deployment Diagram)
iuh.one
Hình 3.5: Sơ đồ triển khai Backend
Dispatcher SendeeDeploymentDiagram
Trang 8Hội nghị Khoa học trẻ lần 5 nám 2023(YSC2023)-ỈUH
iuh.one
Hình 3.6: Sơ đô triền khai Dispatcher Service
Slack làmộtnền tảng tròchuyện trực tuyếnvàcộngtác được sử dụng rộngrãi trong môitrườnglàmviệc
và nhóm làm việc Nó chophépngười dùng gửi tin nhắn trựctiếphoặctrò chuyện nhóm, chiasẻ tệpvà tài liệu, ràtích hợp với nhiềuứng dụng khác nhau để tăng cườngkhả năng cộng tác Slack cũngcung cấp tính
năng gọi video và âmthanhđểgiúpcác thành viên trong nhóm giao tiếpvớinhautừ xa Slack đã trởthành
một côngcụ quan trọng trongviệc quản lý và phát triểndự án (Hình 3.6).
3.5 Giao diện của hệ thống IUH ONE
ONE cungcấp Với chức năngnày, hệ thống sẽ tự động thu thập và thống kê các thông số như sốlượt truy cập, thời gian,địa điểmtruycậpvàolink rútgọnvà mộtsố thông số khác Đồng thời, hệ thống IUH ONE
sẽ biểu diễn chúng dưới dạngcácđồ thị để phân tích, sosánhvới các phiên bảnrútgọnhay các thông số
nhưthời gian, địa đỉểm, thiết bị, Từ đó, người dùng cóthể có chiến lược để triển khai linkrútgọn một
Hình 3.7: Giao diện chính cho phép người dùng tạo liên kết rút gọn
Trang 9Hội nghị Khoa học trẻ lần 5 năm 2023(YSC2023)-IUH
- '' iuh■ ỡnữ Hinone
Hình 3.8: Thống kê các đại lượng đo lượng của liên kết rót gọn từ IUH ONE
Trang 10Hội nghị Khoa học trẻ lân 5 năm 2023(YSC2023)-ỈUH
4 TRIẺN KHAI THựC TẾ
Chúng tôi đã triểnkhai hệ thống máy chủ cho IUH Onetrên hệ thống Google Cloud Platfom Trong giai
xuất vói hiệu năng cao hơn so với cáccông cụrútgọnkhác Dữ liệu thuthậpđa dạng và được biểu diễn
một cáchtrực quan, giúp cho các nhà phân tích, hoạch định chiến lược dễ dàng kiểm soát và đánh giá kết
quả
Compute Engine /• Eoư Ô CESET □ CUE ATS MACMIUt IUACf □ CREATE SIMILAR ► STABT /RESUME ■ STOP ỉ e OPERATIONS- pc WR.P ASSISTANT 9 LEAR*
Virtual rrathner
ũ VM inalonatu
Q Intltf Ke leiipleteti
s soetenỉrt icdes
0 Machine images
a 1PƯT
C3 Committed V9» disoovn
n RcKTtaiivnt
& Mqrale tú Vfhnl Math.,
□ Disks
0 Snapahoti
t-j lt»(JC3
□ AsyrcRípiKnron
DETAILS OBSERVABILITY OS INFO SCREENSHOT
■p MONIIORVN INSTANCES MSTAU OPSAGÍNĨ • o t) SAVE A3 DAStlBCARP RLSLT ZOOM 1 toir 6 tours 1 d«y Twerk 1 mrxrti VOmrkr Custom m
Instance CTOUOS
A Insunce ơcups
METRICS tocs
CPU
Mcmcry
9 RequitesOpcAjent INSTALL
VTC»7 Mw4.:OỈ3 U*n.2C2ỉ Un'8 2225 Vn 21:0:3 Ju» 3323 U-C.7 M>V«.2C2I Unit 2323 «n lĩ 2023 Uw2ỉ.2C2ỉ J«nl2O23
New Connections wth VMs/Ertemal/Goooie Q • DskThrouýiPAí o
w»
o 0 ® i
Vĩ Marletptace
[rĩ RếMsa NMB
MM A 2023 “ * « 3M3 M* é, 2(2! VU/ á 2»23
Hình 4.1: Compute Engine cho hệ thống IUH ONE trên nền tảng Google Cloud
Cloud Run 4- Service details /Eon A DEPLOY NT wesson Ô SETUP CONT1NUCUS DEPLOYMENT
© idh-oneback-erxlsystem R«gon ésik-ẾOUtbí&stl Uft »itlps./?iu!>cn«-bMX-«y»ty8lew-yAp37Mwi>>-as.>.rjna|:p o ’litxxe)
Hình 4.2: Cloud Run cho hệ thống IUH ONE trên nền tảng Google Cloud
Trang 11Hội nghị Khoa học trẻ lần 5 năm 2023(YSC2023)-ỈUH Hình 4 ỉ vàHình 4.2 thông tincáckết quả về hiệu năng củahệ thống IUH ONE triển khai trênmôihường
5 KÉT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Bàibáo đãhình bày giải pháp rút gọn link người dùngvà xây dựngcông cụ hỗhợviệc đánh giáhiệu suất huy xuất các link rút gọn Đe hiện thựcgiải pháp hên, chúng tôiđã xâydựngcông cụ IUH ONE với những
côngnghệ phù hợp vàcung cấp nhiều chức năng cho người dùng sử dụng Trongđó, cácchức năng chính
User-Agent Tất cả các chỉ sốhiệusuất này được hực quanhoá dữ liệuhong thời gianthực trên nềntảngweb
Công nghiệp Thành phố Hồ Chí Minh,bắt đầu tháng04/2023hongcác bài đăng tuyển dụng được chia sẻ
hên mạng xãhội Kết quả mang lạitừ số lượng người dùng và số lượng link rút gọn làrất tốt (dữ liệuđược hiển khai với địa chỉ https://iuh.one với hàng nghìn lượt truy cập, hàng hăm liên kếtđã đươc rút gọn)
Nhữngkết quả này được biểu diễn lên các biểu đồ của hệ thống Web nhằmtrực quanhóa dữliệu Tuy
hong và ngoài hường để tìm kiếmcác cơhội hợp tác và mở rộng sản phẩmcải thiện các tínhnăng đãđược hiển khai,phát hiển thêm một số tínhnăngmới như: hệ thống cho phép tạo biểu mẫu đăng ký sự kiện dựa
hên liên kếtrút gọn.về mặt kỹ thuật, chúng tôi sẽ sửdụng đa dạng các nhà cung cấp dịch vụ điệntoánđám
mây khác nhau và áp dụng kiến trúc Microserviceđể tăngcường tính ổn địnhvà hiệu quả của hệthống
TÀI LIỆU THAM KHẢO
efficiently, Second Edition Packt Publishing Ltd, 2017
[2], Casciaro, Mario, and Luciano Mammino Node, js Design Patterns: Design and implement production-grade
Node, js applications using proven patterns and techniques Packt Publishing Ltd, 2020.
[3], c Doxsey An Introduction to Programming in Go CreateSpace Independent Publishing Platform, 2012
[4], Richardson, Chris Microservices patterns: with examples in Java Simon and Schuster, 2018
[5], Stigler, M Beginning Serverless Computing: Developing with Amazon Web Services Microsoft Azure, and Google Cloud 2018
[6], Next.js - https://nextis.org/docs accessed 04/06/2023
[7], NestJS - https://docs.nestis.com accessed 04/06/2023
[8], NodeJS - https://nodejs.org accessed 04/06/2023
[9], Google Cloud Platform - https://cloud.google.com/docs accessed 04/06/2023
[10], Firebase - https://firebase.google.com accessed 04/06/2023