Mô hình hệ thống quản trị tin nhắn dựa trên module mei-chat cho các trang web có số lượng người dùng lớn

Hội nghị Khoa học công nghệ lần thứ XXII  
Trường Đại học Giao thông vận tải  
MÔ HÌNH HỆ THỐNG QUẢN TRỊ TIN NHẮN DỰA TRÊN MODULE  
MEI-CHAT CHO CÁC TRANG WEB CÓ SỐ LƯỢNG NGƯỜI DÙNG  
LỚN  
Nguyễn Thị Nhàn1, Bùi Ngọc Dũng2, Hoàng Xuân Tùng 1*  
1 Trường Đại học Công nghệ, ĐHQGHN, Số 144, Xuân Thuỷ, Cầu Giấy, Hà Nội  
2 Trường Đại học Giao thông vận tải, Số 3, Cầu Giấy, Hà Nội  
* Tác giả liên hệ: Email: [email protected];  
Tóm tắt. Dịch vụ chăm sóc khách hàng trực tuyến trên các trang web đang là một  
thành phần quan trọng để duy trì hoạt động kinh doanh trên môi trường mạng. Các hộp  
thoại nhắn tin trực tuyến được nhúng vào các trang web cung cấp khả năng liên lạc  
giữa người truy cập và quản trị viên trang web. Trong bài báo này này, chúng tôi giꢀi  
thiệu module mei-chat xây dựng bằng các công nghệ Web tiên tiến nhất như NodeJS,  
AngularJS, SocketIO. Mei-chat gồm ba thành chính là meiChatCustomer,  
meiChatAdmin và meiChatBackend. MeiChatBackend được xây dựng bằng Nodejs  
tích hợp SocketIO vꢀi cấu trúc cân bằng tải nhằm đảm bảo số lượng lꢀn người kết nối.  
MeiChatAdmin cho phép quản trị viên nhắn tin, xem lịch sử tin nhắn của người truy  
cập trang web. MeiChatCustomer là hộp thoại tin nhắn có thể dễ dàng tích hợp vào các  
trang web, cho phép người truy cập nhắn tin vꢀi quản trị viên.  
Từ khóa: eCommerce, IT Systems.  
1. ĐẶT VẤN ĐỀ  
Chăm sóc khách hàng online đang là một xu hưꢀng tất yếu, đem lại lợi ích cho  
hoạt động kinh doanh của thương hiệu hay doanh nghiệp. Mạng xã hội khiến công  
việc chăm sóc khách hàng online diễn ra chuyên nghiệp, thuận lợi hơn vꢀi mức chi phí  
thấp nhưng lại khai thác được tiềm năng khách hàng lꢀn. Tuy nhiên để có thể khai thác  
hiệu quả của hoạt động này trên mạng xã hội một cách tối đa, thương hiệu và doanh  
nghiệp thường sử dụng nhiều công cụ và các hình thức chăm sóc khách hàng khác bên  
cạnh kênh liên lạc mạng xã hội. Một trong các ứng dụng được sử dụng nhiều trong các  
hệ thống website để chăm sóc khách hàng là trò chuyện trực tuyến. Hình thức này giúp  
cải thiện trải nghiệm mua hàng cho người dùng, giꢁp tăng doanh số bán hàng và là nền  
tảng tốt cho dịch vụ bán hàng trực tuyến [3]. Thực tế triển khai đã chỉ ra rằng tỷ lệ  
chuyển đổi trung bình của hộp thoại trao đổi trực tuyến là 1% - 2%. Website bán hàng  
trực tuyến thông thường có hàng nghìn lượt người truy cập cùng một lúc, chính vì vậy  
vꢀi tỉ lệ chuyển đổi 1% - 2% sẽ giúp các cửa hàng thu về lượng khách mua hàng đáng  
kể. Chính vì thế, việc tạo một hộp chat trên web là điều cần thiết để bạn có thể tiếp  
-276-  
Hội nghị Khoa học công nghệ lần thứ XXII  
Trường Đại học Giao thông vận tải  
khách, tư vấn khách và tăng tỉ lệ chốt khách.  
Hiện tại có khá nhiều các dịch vụ chat trực tuyến phổ biến như Facebook  
Messenger, Google hangout, Skype, Viber, hay Zalo,... [1][2][3][4] . Đặc điểm chung  
của các phần mềm chat này là đều được sử dụng dễ dàng chỉ cần máy tính hoặc thiết bị  
được kết nối mạng Internet. Thậm chí có nhiều phần mềm được tích hợp ngay trên  
máy như iMessage trên máy iPhone. Tính năng của các dịch vụ chát này cũng rất đa  
dạng, từ trao đổi nội dung văn bản, chia sẻ file, ảnh, video, audio, hội thoại nhóm, ...  
Các dịch vụ này cũng có khả năng mở rộng rất cao. Tuy nhiên nhược điểm của các  
dịch vụ chat này là: (i) khả năng tích hợp vào các trang web hiện có là khá hạn chế; (ii)  
tính năng phụ thuộc vào chính sách dịch vụ của nhà cung cấp và có thể bị thay đổi gây  
nguy cơ gián đoạn dịch vụ hoặc tiết lộ thông tin.  
Các trang web ngày nay có thể được phát triển bằng nhiều khung phát triển ứng  
dụng khác nhau. Mục tiêu của module Meichat trong bài báo này trưꢀc hết tập trung  
vào hai tính năng quan trọng: (i) khả dễ dàng tích hợp vꢀi các khung phát triển ứng  
dụng Web khác nhau; và (ii) có khả năng mở rộng cao, đáp ứng được số lượng lꢀn  
người truy cập. Sử dụng MeiChat sẽ đảm bảo khả năng tích hợp dễ dàng vào bất kỳ  
ứng dụng Web nào vꢀi thao tác đơn giản bao gồm việc bổ sung đoạn mã HTML nhúng  
vào trang Web cần tích hợp và triển khai phần dịch vụ độc lập. MeiChat cũng được  
thiết kế để nâng cao tính hiệu quả của hoạt động chăm sóc khách hàng. Ngoài ra kiến  
trúc của Meichat cho phép hệ thống có tính mở rộng cao, phục vụ được số lượng lꢀn  
người dùng đồng thời.  
2. PHÂN TÍCH THIẾT KẾ MEI-CHAT  
2.1. Mô hình dịch vụ meiChat  
Hệ thống module chat được thiết kế theo mô hình client-server vꢀi minh hoạ như  
Hình 19: Tổng quan kiến trúc meiChat  
Như minh hoạ trên Hình 19, Meichat bao gồm 02 ứng dụng Client, và 01 ứng  
dụng Server có tích hợp vꢀi 01 Database. Trong hai phần mềm client thì  
meiChatAdminFrontend cung cấp giao diện hội thoại cho quản trị viên của website  
còn meiChatCustomerFrontend là một hộp thoại chat nhúng phục vụ người dùng  
thông thường có nhu cầu trao đổi thông tin trực tuyến vꢀi quản trị viên của site. Khối  
server cung cấp các dịch vụ bao gồm: (a) trung chuyển tin nhắn giữa các bên tham gia  
hội thoại thông qua giao tiếp Socket IO [12] (Websocket [11] hoặc AJAX [13]); (b)  
tiếp nhận và xử lý các yêu cầu dịch vụ như đăng nhập, lịch sử hội thoại, trạng thái  
người dùng thông qua giao tiếp Restful API.  
Khi một người dùng truy nhập và website, người dùng đó có thể nhắn tin vào hộp  
thoại meiChatCustomerFrontend và tin nhắn sẽ được gửi đến meiChatAdminFrontend.  
-277-  
 
Hội nghị Khoa học công nghệ lần thứ XXII  
Trường Đại học Giao thông vận tải  
Hệ thống meiChat cho phép nhiều tài khoản admin của site sử dụng  
meiChatAdminFrontend đề đồng thời trao đổi vꢀi 01 người dùng, qua đó nâng cao khả  
năng trao đổi và chăm sóc khách hàng của site nhờ các quản trị viên có thể dễ dàng hỗ  
trợ nhau. Đồng thời, giao diện của meiChatAdminFrontend cho phép một tài khoản  
quản trị viên có thể đồng thời thực hiện chat vꢀi nhiều khách hàng khác nhau.  
2.2. Triển khai và giải pháp cân bằng tải  
Hệ thống meiChat được phát triển theo hưꢀng tiếp cận microservice [5] vꢀi khối  
dịch vụ meiChat server được phát triển bằng NodeJS [8] còn hai ứng dụng client được  
phát triển bằng AngularJS [7]. Trong hai ứng dụng client, ứng dụng  
meiChatAdminFrontend là một ứng dụng SPA (Single Page Application) [6] hoàn  
thiện còn meiChatCustomerFrontend là một AngularJS component có thể được nhúng  
dễ dàng vào bất cứ môi trường trình duyệt web nào. Định dạng JSON được sử dụng  
cho dữ liệu trao đổi giữa thành phần vꢀi nhau trong hệ thống.  
MeiChat Server được phát triển bằng NodeJS nhưng khi triển khai, nhiều  
instance của meiChat Server (NodeJS) có thể chạy song song để tạo thành một cụm  
dịch vụ nhằm tăng khả năng mở rộng (scalability). Để kết hợp các NodeJS instance lại  
thành một cụm, một máy chủ Web chạy phần mềm Nginx [9] được triển khai đứng  
trưꢀc cụm các NodeJS và hoạt động như một bộ cân bằng tải như minh hoạ trên Hình  
20. Các yêu cầu trao đổi tin nhắn từ người dùng sẽ được phân tải đều sang các  
meiChat Server instance ở phía sau, qua đó tăng khả năng mở rộng cho hệ thống.  
Hình 20: Giải pháp cân bằng tải của meiChat server  
Một vấn đề khó khăn phát sinh khi nhiều máy chủ chạy song song như trong  
Hình 20 đó là các yêu cầu từ một máy khách có thể sẽ rơi vào các máy chủ NodeJS  
server khác nhau. Khi đó cụm các máy chủ sẽ không hoạt động thống nhất như một  
dịch vụ duy nhất do thông tin trạng thái lưu trữ trên các máy chủ là độc lập và khác  
nhau. Để giải quyết vấn đề này, hệ thống meiChat server triển khai thêm một thành  
phần Redis [10] ở phía sau để lưu trữ thông tin trạng thái tập trung. Các NodeJS  
instance hoạt động dựa trên thông tin trạng thái lưu trên Redis thay vì dựa vào thông  
tin trạng thái lưu trữ nội bộ tại từng máy. Các yêu cầu từ cùng một máy khách dù có  
-278-  
 
Hội nghị Khoa học công nghệ lần thứ XXII  
Trường Đại học Giao thông vận tải  
được phục vụ bởi bất kỳ máy chủ NodeJS nào thì vꢀi người dùng dịch vụ vẫn diễn ra  
như đang được phục vụ bởi một hệ thống dịch vụ duy nhất.  
3. THỬ NGHIỆM VÀ ĐÁNH GIÁ PHÂN TÍCH  
3.3Cài đặt và thử nghiệm  
Hệ thống meiChat đã được phát triển và triển khai thử nghiệm trên một môi  
trường như sau:  
− MeiChat Server: được cài đặt chạy trên 3 server, được cấu hình cân bảng  
tải nginx kết hợp redis server.  
− MeiChatAdminFrontend: được chạy trên cổng của nginx.  
− MeiChatCustomerFrontend: được đóng gói và tích hợp vào trang web.  
− Trình duyệt: Google Chrome và Cốc cốc  
− Module MeiChat đã được tích hợp và thử nghiệm trên trang web đặt sân  
bóng đá dựng trên local server.  
Hệ thống module đã bưꢀc đầu hoàn thiện và đạt được mục tiêu đề ra ban đầu. Hệ  
thống phân chia rõ ràng các khối chức năng và các khối hoạt động ổn định. Về mặt  
chức năng cả meiChatCustomerFrontend và meiChatAdminFrontend đều đáp ứng  
chức năng cơ bản như gửi nhận tin nhắn văn bản hình ảnh, tải ảnh, tệp, thông báo tin  
nhắn mꢀi. meiChatCustomerFrontend cũng đã tích hợp thành công vào website khác  
một cách dễ dàng. MeiChatAdmin cho phép nhiều quản trị cùng trò chuyện vꢀi 1 hoặc  
nhiều khách hàng 1 lúc. Về mặt phi chức năng hệ thống hoạt động vꢀi tính ổn định  
cao. Tốc độ gửi nhận tin nhắn tốt, đảm bảo số lượng lꢀn người dùng. Giao diện thân  
thiện, dễ nhìn. Tuy nhiên, so vꢀi các phần mềm đã có như vChat [14] , liveChat [15],  
thì giao diện của meiChatCustomerFrontend chưa đꢂp và chuyên nghiệp bằng. Tuy  
nhiên, ưu điểm của meiChát là khả năng dễ dàng tùy biến và mở rộng. Bảng 1 tổng  
hợp các đánh giá về toàn bộ hệ thống meiChat.  
Bảng 1. Đánh giá hệ thống module chat.  
-279-  
Hội nghị Khoa học công nghệ lần thứ XXII  
Trường Đại học Giao thông vận tải  
4. KẾT LUẬN  
Bài báo đề xuất hệ thống trò chuyện trực tuyến tích hợp trên trang web có số  
lượng người dùng lꢀn dựa trên module mei-chat. Module mei-chat được phát triển vꢀi  
công nghệ hiện đại là Javascript bao gồm Node, Angular và SocketIO đã đáp ứng tốt  
chức năng gửi nhận tin nhắn dạng văn bản và hỗ trợ một số tính năng đa phương tiện  
như gửi ảnh, gửi tệp. Tốc độ gửi nhận tin nhắn của module chat đảm bảo yếu tố thời  
gian thực. Ngoài ra, việc hội thoại theo nhóm cũng trở nên dễ dàng, thuận lợi. Module  
mei-chat đã có thể thông báo tin nhắn mꢀi. Tại một thời điểm, module chat cho phép  
nhiều quản trị viên cùng nhắn tin vꢀi nhiều khách hàng vꢀi giao diện dễ sử dụng. Đặc  
biệt, module chat đã có khả năng tích hợp vào website khác. Hưꢀng phát triển tiếp  
theo là cải thiện tốc độ khi gửi ảnh và tệp lꢀn hiển thị trạng thái của các quản trị viên.  
TÀI LIỆU THAM KHẢO  
[2]. H. Tsukayama, Facebook Messenger app change allows free calls visa WiFi, The  
Washington Post, 2013.  
[3]. G. V. M. O. Blog, "Making calls from Hangouts - in Gmail and across the web,"  
Google, 2013  
[4]. Desclaux, P.B.F., 2006. Silver Needle in the Skype.  
[5]. Nadareishvili, I., Mitra, R., McLarty, M. and Amundsen, M., 2016. Microservice  
architecture: aligning principles, practices, and culture. " O'Reilly Media, Inc.".  
[6]. Mikowski, M. and Powell, J., 2013. Single page web applications: JavaScript  
end-to-end. Manning Publications Co.  
[7]. Darwin, P.B. and Kozlowski, P., 2013. AngularJS web application development.  
Packt Publ..  
[8]. Satheesh, M., D'mello, B.J. and Krol, J., 2015. Web development with MongoDB  
and NodeJs. Packt Publishing Ltd.  
[9]. Nedelcu, C., 2010. Nginx HTTP Server: Adopt Nginx for Your Web  
Applications to Make the Most of Your Infrastructure and Serve Pages Faster Than  
Ever. Packt Publishing Ltd.  
[10].Da Silva, M.D. and Tavares, H.L., 2015. Redis Essentials. Packt Publishing Ltd.  
[11].Wang, V., Salim, F. and Moskovits, P., 2013. The definitive guide to HTML5  
WebSocket (Vol. 1). New York: Apress.  
[12].Rai, R., 2013. Socket. IO Real-time Web Application Development. Packt  
Publishing Ltd.  
[13].Kachhwaha, R. and Patni, P., 2012. Ajax enabled web application model with  
comet programming. International Journal of Engineering and Technology, 2(7),  
pp.1155-1161.  
-280-  
pdf 5 trang baolam 29520 Free
Bạn đang xem tài liệu "Mô hình hệ thống quản trị tin nhắn dựa trên module mei-chat cho các trang web có số lượng người dùng lớn", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfmo_hinh_he_thong_quan_tri_tin_nhan_dua_tren_module_mei_chat.pdf