Tải bản đầy đủ (.pdf) (120 trang)

NGHIÊN cứu xây DỰNG CÔNG cụ đo LƯỜNG và PHÂN TÍCH TƯƠNG tác NGƯỜI DÙNG TRÊN WEBSITE

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (12.86 MB, 120 trang )

ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN


ĐỖ THỊ HƯƠNG LAN

NGHIÊN CỨU XÂY DỰNG CÔNG CỤ
ĐO LƯỜNG VÀ PHÂN TÍCH TƯƠNG TÁC
NGƯỜI DÙNG TRÊN WEBSITE

LUẬN VĂN THẠC SĨ, KHÓA LUẬN CAO HỌC

NGÀNH Công Nghệ Thông Tin
Mã số: 60.48.02.01
NGƯỜI HƯỚNG DẪN KHOA HỌC
Đồng hướng dẫn
1.

TS. Đàm Quang Hồng Hải

2.

TS. Ngô Thanh Hùng

TP. HỒ CHÍ MINH - 2017


LỜI CAM ĐOAN
Tôi xin cam đoan: Luận văn tốt nghiệp với Đề tài “Nghiên cứu xây dựng công
cụ đo lường và phân tích tương tác người dùng trên website” là công trình nghiên cứu
của tôi, dưới sự hướng dẫn của TS. Đàm Quang Hồng Hải và TS. Ngô Thanh Hùng.


Các trích dẫn, tham khảo trong quá trình nghiên cứu đều được trích dẫn đầy đủ,
ghi rõ nguồn gốc.
Tôi xin chịu hoàn toàn trách nhiệm nếu có bất kỳ sao chép không hợp lệ, vi
phạm quy chế đào tạo.
Người thực hiện
Đỗ Thị Hương Lan


LỜI CẢM ƠN
Trong quá trình hình thành ý tưởng nghiên cứu và phát triển đề tài, tác giả may
mắn nhận được sự hỗ trợ từ Nhà Trường, Thầy Cô, Cơ quan và Gia đình.
Tôi xin gửi lời cảm ơn chân thành đến Bộ môn/Khoa Khoa Học Và Kỹ Thuật
Thông Tin, Phòng Đào Tạo SĐH, nhà trường Đại học Công Nghệ Thông Tin đã hỗ
trợ và tạo điều kiện, giúp đỡ tôi trong suốt quá trình học tập và nghiên cứu tại trường.
Tôi xin được gửi lời tri ân sâu sắc đến 2 người Thầy đáng kính vì sự hướng dẫn,
chỉ bảo tận tình: TS. Đàm Quang Hồng Hải và TS. Ngô Thanh Hùng.
Qua đây, tôi cũng xin cảm ơn sự hỗ trợ từ phía đơn vị mà tác giả đang công tác
– Công ty TNHH MTV Ứng dụng CNTT Hòn Rạng.
Xin gửi lời cảm ơn đến các anh chị, bạn bè đã giúp đỡ và chia sẻ kiến thức trong
suốt quá trình học tập cũng như thực hiện Luận văn.
Xin gửi lời cảm ơn đến Bố Mẹ và gia đình - nguồn động viên to lớn và chỗ dựa
vững chắc cho tôi vượt qua khó khăn để hoàn thành Luận văn.

Tác giả

Đỗ Thị Hương Lan


MỤC LỤC


MỤC LỤC
MỤC LỤC

...............................................................................................................5

DANH MỤC CÁC BẢNG BIỂU .............................................................................10
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ ...................................................................11
MỞ ĐẦU

.............................................................................................................13

CHƯƠNG 1 GIỚI THIỆU ĐỀ TÀI .........................................................................15
1.1

Tên đề tài .....................................................................................................15

1.2

Từ khóa ........................................................................................................15

1.3

Mục tiêu của đề tài.......................................................................................15

1.4

Đối tượng áp dụng, phạm vi nghiên cứu của đề tài .....................................16

1.5


Nội dung và phương pháp nghiên cứu ........................................................17

1.5.1

Nội dung 1 ............................................................................................17

1.5.2

Nội dung 2 ............................................................................................17

1.5.3

Nội dung 3 ............................................................................................17

1.5.4

Nội dung 4 ............................................................................................17

1.5.5

Nội dung 5 ............................................................................................17

1.6

Tính khoa học, tính mới của đề tài ..............................................................18

1.7

Cấu trúc của luận văn ..................................................................................19


CHƯƠNG 2 TỔNG QUAN VẤN ĐỀ NGHIÊN CỨU VÀ KIẾN THỨC NỀN TẢNG .20

2.1

Khảo sát hiện trạng ......................................................................................20

2.1.1

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

2.1.2

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

2.2

Kiến thức nền tảng .......................................................................................22

2.2.1

Tổng quan về phân tích web .................................................................22
5


MỤC LỤC

2.2.2

Kỹ thuật phân tích on-site và off-site ...................................................22


2.2.3

Các cơ chế thu thập dữ liệu tương tác ..................................................23

2.2.3.1

Sử dụng các file log .......................................................................23

2.2.3.2

Cơ chế page tagging .......................................................................26

2.2.4

2.2.4.1

Các metric cơ bản...........................................................................27

2.2.4.2

Các metric đặc điểm truy cập.........................................................29

2.2.4.3

Các metric đặc điểm người truy cập ..............................................30

2.2.5
2.3

Các thông số đánh giá ...........................................................................26


Trực quan hóa dữ liệu tương tác ...........................................................31

Các kỹ thuật, công nghệ được sử dụng........................................................31

2.3.1

Dịch vụ Windows - Windows service ..................................................31

2.3.1.1

Tổng quan về Windows service .....................................................31

2.3.1.2

Windows service trong Visual Studio............................................32

2.3.1.3

Điều khiển Windows service .........................................................34

2.3.2

WCF – Windows Communication Foundation ....................................36

2.3.2.1

Tổng quan về WCF ........................................................................36

2.3.2.2


WCF service trong Microsoft Visual Studio .................................37

2.3.3

C# và ASP.NET MVC ..........................................................................39

2.3.4

MongoDB và SQL ................................................................................39

2.3.4.1

SQL Server – Cơ sở dữ liệu quan hệ .............................................39

2.3.4.2

MongoDB – Cơ sở dữ liệu không quan hệ ....................................40

2.3.5

2.4

JavaScript và AJAX ..............................................................................42

2.3.5.1

JavaScript .......................................................................................42

2.3.5.2


AJAX .............................................................................................44

Kết chương ..................................................................................................46
6


MỤC LỤC

CHƯƠNG 3 Ý TƯỞNG CÔNG CỤ ĐO LƯỜNG VÀ PHÂN TÍCH TƯƠNG TÁC
NGƯỜI DÙNG TRÊN WEBSITE ...........................................................................47
3.1

Các vấn đề đặt ra .........................................................................................47

3.2

Thu thập dữ liệu tương tác người dùng trên website ...................................47

3.2.1

Dữ liệu file log của web server .............................................................47

3.2.2

Dữ liệu sự kiện tương tác trên website .................................................49

3.3

3.2.2.1


Dữ liệu thông tin chung .................................................................49

3.2.2.2

Dữ liệu riêng cho các sự kiện.........................................................52

Phân tích, xử lý dữ liệu thu thập ..................................................................56

3.3.1

Dữ liệu được dùng để xử lý ..................................................................56

3.3.2

Xác định trình duyệt, nền tảng thiết bị và hệ điều hành .......................60

3.3.3

Phân biệt người dùng (visitor) và phiên truy cập (visit) .......................64

3.3.4

Tính toán các thông số chung ...............................................................67

3.3.4.1

Số page view ..................................................................................67

3.3.4.2


Số hits .............................................................................................69

3.3.4.3

Số visitor (người truy cập duy nhất) ..............................................70

3.3.4.4

Số visit (phiên làm việc/lượt truy cập)...........................................71

3.3.4.5

Thời gian trung bình của visit ........................................................73

3.3.4.6

Số bounced visit (visit đơn trang) ..................................................73

3.3.5

Các thông số bổ sung về người truy cập (visitor) .................................74

3.3.5.1

Phân loại visitor .............................................................................74

3.3.5.2

Số visit trung bình của visitor ........................................................75


3.3.6

Các thông số bổ sung về trang web ......................................................75

3.3.6.1

Số page view của trang ..................................................................76

3.3.6.2

Số visit của trang web ....................................................................76
7


MỤC LỤC

3.3.6.3

Thời gian trên trang web ................................................................77

3.3.6.4

Phân loại trang web trong một visit ...............................................78

3.3.7

Các thông số bổ sung về trang tham chiếu (Referrer) ..........................79

3.3.7.1


Truy cập trực tiếp - Direct entry ....................................................79

3.3.7.2

Truy cập gián tiếp - Có referrer .....................................................80

3.3.8

Các thông số bổ sung về một số đối tượng khác ..................................82

3.4

Trực quan hóa dữ liệu phân tích ..................................................................84

3.5

Gom nhóm, tổng hợp dữ liệu phân tích của các website thuộc hệ website .85

3.6

Kết chương ..................................................................................................86

CHƯƠNG 4 HIỆN THỰC CÔNG CỤ ĐO LƯỜNG VÀ PHÂN TÍCH TƯƠNG TÁC
NGƯỜI DÙNG TRÊN WEBSITE ...........................................................................87
4.1

Đặc tả yêu cầu công cụ ................................................................................87

4.1.1


Mục đích xây dựng công cụ ..................................................................87

4.1.2

Yêu cầu của công cụ .............................................................................87

4.2

4.1.2.1

Yêu cầu chức năng .........................................................................87

4.1.2.2

Yêu cầu kỹ thuật ............................................................................87

4.1.2.3

Yêu cầu về nền tảng và thiết bị ......................................................87

Thiết kế công cụ ..........................................................................................88

4.2.1

Các thành phần......................................................................................88

4.2.1.1

Site Agent .......................................................................................88


4.2.1.2

Collector .........................................................................................92

4.2.2

Kết nối giữa Site Agent và Collector ....................................................94

4.2.3

Cơ sở dữ liệu .........................................................................................95

4.2.3.1

SQL Server .....................................................................................95

4.2.3.2

MongoDB Server ...........................................................................98
8


MỤC LỤC

4.2.4

4.3

Lưu đồ hoạt động (Flow chart) .............................................................99


4.2.4.1

Đăng ký site mới ............................................................................99

4.2.4.2

Gửi và nhận dữ liệu tương tác ......................................................100

4.2.4.3

Xử lý dữ liệu tương tác ................................................................102

Hình ảnh giao diện .....................................................................................104

4.3.1

Giao diện Đăng ký và quản lý Site Agent ..........................................104

4.3.2

Giao diện Trang báo cáo (Report) ......................................................105

4.4

Kết quả hoạt động của công cụ..................................................................106

4.4.1

Kết quả kiểm tra nhận diện trình duyệt và thiết bị .............................106


4.4.2

Kết quả thu thập và tính toán dữ liệu ..................................................107

4.4.3

So sánh kết quả với các công cụ khác ................................................108

4.5

4.4.3.1

So sánh kết quả với Google Analytics với bộ dữ liệu 1...............108

4.4.3.2

So sánh kết quả với Google Analytics (toàn thời gian) ...............110

Kết chương ................................................................................................111

CHƯƠNG 5 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ........................................112
5.1

Thuận lợi và khó khăn ...............................................................................112

5.1.1

Thuận lợi .............................................................................................112


5.1.2

Khó khăn .............................................................................................112

5.2

Kết quả đạt được ........................................................................................113

5.3

Hướng phát triển ........................................................................................113

TÀI LIỆU THAM KHẢO .......................................................................................115
PHỤ LỤC A ...........................................................................................................119
PHỤ LỤC B ...........................................................................................................120

9


DANH MỤC CÁC BẢNG BIỂU

DANH MỤC CÁC BẢNG BIỂU
Bảng 2.1. Các phương thức cung cấp bởi class ServiceBase ...................................33
Bảng 3.1. Nhận dạng và phân tích các định dạng file log.........................................48
Bảng 3.2. Các thông tin thu thập từ sự kiện trên website .........................................55
Bảng 3.3. Tổng hợp một số từ khóa nhận diện trình duyệt [25] ...............................61
Bảng 3.4. Một số từ khóa nhận biết nền tảng di động trên một số trình duyệt .........62
Bảng 3.5. Các từ khóa nhận diện hệ điều hành client ...............................................64
Bảng 4.1. Các bảng lưu trữ thông số đánh giá đã tính toán trong SQL Server.........97
Bảng 4.2. Kết quả nhận diện trình duyệt.................................................................106

Bảng 4.3. Kết quả nhận diện nền tảng thiết bị ........................................................107
Bảng 4.4. Tổng hợp kết quả thu thập dữ liệu trên website thử nghiệm ..................107
Bảng 4.5. Báo cáo kết quả từ dữ liệu thu thập trên website ....................................108
Bảng 4.6 Cơ chế nhận diện Visitor của Google Analytics và Res Analytics .........108
Bảng 4.7 Kết quả trả về của Google Analytics và Res Analytics với Bộ dữ liệu 1 110
Bảng 4.8 Kết quả trả về của 2 công cụ Google Analytics và Res Analytics trong thời
gian từ 26/9/2017 đến 10/12/2017* ........................................................................110

10


DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ

DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ
Hình 2.1. Tỉ lệ sử dụng công cụ phân tích trên toàn thế giới ....................................20
Hình 2.2. Tỉ lệ sử dụng công cụ phân tích dữ liệu người dùng ................................21
Hình 2.3. Minh họa file log với định dạng W3C Extended ......................................25
Hình 2.4. Minh họa file log với định dạng log của IIS .............................................25
Hình 2.5. Minh họa file log với định dạng NCSA ....................................................26
Hình 2.6. Hình ảnh minh họa về Heatmap ................................................................31
Hình 2.7. Giao diện điều khiển dịch vụ của Services Control Manager ...................34
Hình 2.8. Giao diện điều khiển dịch vụ của Task Manager ......................................35
Hình 2.9. Ví dụ minh họa sử dụng ServiceController để khởi động dịch vụ. ..........35
Hình 2.10. Minh hoạt kết nối từ client đến dịch vụ WCF.........................................37
Hình 2.11. Ví dụ tạo interface ServiceContract ........................................................38
Hình 2.12. Ví dụ hiện thực ServiceContract .............................................................38
Hình 2.13. Lưu trữ dữ liệu với các bảng trong cơ sở dữ liệu quan hệ [19] ..............40
Hình 2.14. Lưu trữ dữ liệu trong cơ sở dữ liệu không quan hệ [19] .........................41
Hình 2.15. Định dạng document trong MongoDB....................................................42
Hình 2.16. Cách hoạt động của AJAX ......................................................................44

Hình 3.1. Đoạn script bắt sự kiện click trên toàn trang web .....................................52
Hình 3.2. Xác định tọa độ sự kiện click trong trường hợp có thanh cuộn ................53
Hình 3.3. Đoạn script bắt sự kiện load một trang web ..............................................54
Hình 3.4. Minh họa các dòng log có và không có sa_ucookie của cùng một visit ...59
Hình 3.5. Ví dụ về chuỗi User Agent của trình duyệt Chrome .................................60
Hình 3.6. Ví dụ về User Agent của trình duyệt SeaMonkey trên Windows [26] .....61
Hình 3.7. Nhóm các trình duyệt được nhận diện trước.............................................62
Hình 3.8. Nhóm các trình duyệt được nhận diện sau ................................................62
Hình 3.9. Ví dụ minh họa kiểm tra 2 URL thuộc cùng một domain hay không .......80
Hình 4.1. Mô hình tổng quan hoạt động của công cụ ...............................................88
Hình 4.2. Mô hình các thành phần của Site Agent ...................................................89
Hình 4.3. Các tác vụ chính được hỗ trợ bởi Site Agent Control. ..............................91
Hình 4.4. Mô hình các thành phần trong Collector ...................................................92
11


DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ

Hình 4.5. Minh họa chức năng phân tích dòng log của LogParser Module .............93
Hình 4.6. Các tác vụ Site Agent có thể sử dụng của dịch vụ WCF cho log file .......95
Hình 4.7. Các tác vụ có thể sử dụng từ javascript của dịch vụ WCF cho sự kiện
website .......................................................................................................................95
Hình 4.8. Cấu trúc bảng dữ liệu thông tin người dùng trên SQL Server ..................96
Hình 4.9. Cấu trúc bảng dữ liệu thông tin các site trên SQL Server.........................96
Hình 4.10. Cấu trúc cơ sơ dữ liệu của ứng dụng trên SQL Server ...........................98
Hình 4.11. Cấu trúc cơ sở dữ liệu lưu trữ dữ liệu tương tác trên MongoDB ............99
Hình 4.12. Lưu đồ xử lý hoạt động đăng ký site mới cần theo dõi.........................100
Hình 4.13. Lưu đồ xử lý hoạt động gửi log theo định kỳ cho trước .......................101
Hình 4.14. Lưu đồ xử lý hoạt động gửi sự kiện tương tác trên website .................102
Hình 4.15. Lưu đồ tính toán và lưu trữ các thông số đánh giá................................103

Hình 4.16. Giao diện đăng nhập sử dụng Site Agent Control ................................104
Hình 4.17. Giao diện đăng ký site mới sử dụng Site Agent Control ......................104
Hình 4.18. Giao diện theo dõi cấu hình agent sử dụng Site Agent Control............105
Hình 4.19. Giao diện trang báo cáo (1) ...................................................................105
Hình 4.20. Giao diện trang báo cáo (2) ...................................................................106
Hình 4.21. Kết quả báo cáo tổng quan của Công cụ Res Analytics .......................108

12


MỞ ĐẦU

MỞ ĐẦU
Theo khảo sát mới nhất được công bố vào tháng 07 năm 2017 của NetCraft [1],
số lượng website đang hoạt động trên toàn thế giới là 1,767,964,429. Số lượng
website ngày càng nhiều, cùng với sự đa dạng, phức tạp trong cách thiết kế, chức
năng, và mục đích nội dung của mỗi website. Số lượng càng lớn, sự đa dạng ngày
càng phức tạp, khiến cho việc tiếp cận và giữ được số lượt xem từ người dùng trở
thành thách thức. Bài toán của tất cả các nhà phát triển website vẫn là việc thỏa mãn
nhu cầu sử dụng của người dùng, nên việc quan sát và nắm bắt người dùng cần gì và
có những thao tác gì, xu hướng ra sao khi sử dụng website, hay nói cách khác là việc
phân tích tương tác người dùng với website ngày càng được chú trọng.
Nhận thấy được sự cần thiết của phân tích tương tác người dùng với website
trong việc vận hành và tối ưu hóa hoạt động của website, tác giả dưới sự hướng dẫn
của TS. Đàm Quang Hồng Hải và TS. Ngô Thanh Hùng đã thực hiện đề tài “Nghiên
cứu xây dựng công cụ đo lường và phân tích tương tác người dùng trên website”, với
mục tiêu xây dựng công cụ thực hiện được việc đo lường và phân tích những tương
tác được người dùng trên website, từ đó áp dụng vào một số môi trường website cụ
thể trong doanh nghiệp.
Trong phạm vi đề tài này, các website được nghiên cứu tập trung là các website

sử dụng IIS Web server được phát triển bởi Microsoft. Từ việc phân tích ưu điểm của
các kỹ thuật web analytics, tác giả sử dụng phương pháp phân tích on-site (dựa trên
chính dữ liệu của website) thay vì kỹ thuật off-site mang nặng tính nghiên cứu và
khảo sát.
Tác giả sử dụng cơ chế thu thập dữ liệu hybird (lai) kết hợp hai kỹ thuật chính
là sử dụng các file log và page tagging để thu thập dữ liệu tương tác từ website, dữ
liệu sau đó được tính toán, tổng hợp và trực quan bằng con số, đồ thị, hình ảnh,
heatmap… để người sử dụng theo dõi.
Để hiện thực những chức năng trên, tác giả đã xây dựng một công cụ gồm nhiều
thành phần hoạt động dựa trên cơ chế client-server để theo dõi, gửi và nhận dữ liệu

13


MỞ ĐẦU

tương tác, đồng thời trực quan hóa các dữ liệu đã được phân tích trên giao diện web
của công cụ, hỗ trợ việc đo lường và phân tích tương tác người dùng trên website.
Những đóng góp của đề tài:
- Ý nghĩa khoa học: phương pháp được sử dụng kết hợp nhiều phương pháp
riêng lẻ, khắc phục được phần nào khuyết điểm của từng phương pháp.
- Ý nghĩa thực tiễn: xây dựng được công cụ đo lường và phân tích tương tác
người dùng trên website dựa trên phương pháp đã nghiên cứu.
Cuối cùng, mặc dù có nhiều nỗ lực cố gắng song với thời gian nghiên cứu
chưa thực sự dài nên trong Luận văn này không thể tránh khỏi những thiếu sót, khuyết
điểm. Tác giả mong nhận được sự thông cảm, chia sẻ cũng như những sự chỉ bảo tận
tình, ý kiến đóng góp của Quý Thầy Cô và các bạn.

TP Hồ Chí Minh, ngày 30 tháng 09 năm 2017
Tác giả


14


GIỚI THIỆU ĐỀ TÀI

CHƯƠNG 1

GIỚI THIỆU ĐỀ TÀI

1.1 Tên đề tài
Tên Tiếng Việt: Nghiên cứu xây dựng công cụ đo lường và phân tích tương
tác người dùng trên Website.
Tên Tiếng Anh: Researching and developing a measuring and analytical
tool about user interaction on website.
1.2 Từ khóa
Tương tác người dùng, đo lường, phân tích.
1.3 Mục tiêu của đề tài
Bài toán đặt ra xuất phát từ nhu cầu thực tế nơi mà tác giả công tác - đơn vị
chuyên xây dựng, vận hành Website cho các cá nhân, tổ chức trong và ngoài nước.
Khách hàng luôn quan tâm website của họ có thu hút, đáp ứng được nhu cầu thông
tin và thỏa mãn nhu cầu người dùng hay không. Vì vậy, việc theo dõi các thông tin
về truy cập, tương tác của người dùng trên website luôn được khách hàng chú tâm,
bên cạnh việc đánh giá kết quả xây dựng và vận hành website.
Tại đơn vị mà tác giả đang công tác, 100% khách hàng đều yêu cầu sử dụng
Google Analytics cài đặt vào các dự án Website mà công ty tác giả thực hiện cho
khách hàng. Công cụ này phân tích lưu lượng, nguồn gốc truy cập của người dùng
dựa trên phương pháp page tagging, với một số những ưu điểm sau: không cần can
thiệp, thay đổi bộ mã nguồn của website, là công cụ miễn phí và được sử dụng rộng
rãi trên toàn thế giới nói chung và Việt Nam nói riêng.

Tuy nhiên, một vài vấn đề mà chúng tôi gặp phải được liệt kê dưới đây:
- Yêu cầu khách hàng phải biết cách cài đặt, và truy cập giao diện công cụ từ 1
website độc lập khác (www.analytics.google.com).
- Đối với những trình duyệt vô hiệu hóa, hoặc có lỗi với cookies, Javascript,
công cụ tạo ra những số liệu thống kê không chính xác.

15


GIỚI THIỆU ĐỀ TÀI

- Google Analytics hầu như chỉ theo dõi việc người dùng load trang, chứ không
thu thập các dữ liệu về các hành động (click chọn, tắt trình duyệt, v.v…) – những
thao tác liên quan đến việc tương tác.
- Giao diện công cụ quá phức tạp, chưa thân thiện với đối tượng người dùng ít
am hiểu.
Từ những vấn đề trên, tác giả đặt ra mục tiêu nghiên cứu và xây dựng một công
cụ đo lường và phân tích tương tác người dùng trên các website, triển khai cho đơn
vị công tác, với giao diện thân thiện và đáp ưng được nhu cầu đặc thù của khách hàng.
Mục tiêu trên được chia nhỏ thành những mục tiêu sau đây:
- Nghiên cứu cơ chế thu thập và lưu trữ thông tin truy cập từ người dùng thông
qua các dữ liệu từ file log và dữ liệu gửi về thông qua đoạn Javascript cài đặt trên
website.
- Nghiên cứu cơ chế lựa chọn, tổng hợp dữ liệu từ 2 nguồn dữ liệu trên để tính
toán kết quả tối ưu nhất (dựa trên các điều kiện: lý tưởng, không lý tưởng).
- Nghiên cứu cơ chế lưu trữ và tính toán để giải quyết bài toán dữ liệu lớn,
thường xuyên cập nhật.
- Nghiên cứu cơ chế xây dựng heat map để trực quan hóa hành vi thao tác của
người dùng trên website (click [nhấp chọn], tương ứng với các loại màn hình).
1.4 Đối tượng áp dụng, phạm vi nghiên cứu của đề tài

- Các ứng dụng website không quá phức tạp (các dự án website thực hiện bởi
công ty TABWEB), đề tài tập trung vào các website sử dụng IIS Server của Microsoft.
- Các tương tác người dùng đối với website.
- NoSQL và SQL
- Heat map, file log, page tagging, hybrid.

16


GIỚI THIỆU ĐỀ TÀI

1.5 Nội dung và phương pháp nghiên cứu
1.5.1 Nội dung 1
Nội dung: Khảo sát, nghiên cứu các phương pháp và các vấn đề trở ngại về kỹ
thuật trong bài toán phân tích website, bài toán thu thập dữ liệu.
Phương pháp: So sánh phương pháp phân tích on-site và off-site. Nghiên cứu
và so sánh 2 ký thuật thu thập dữ liệu từ log file, và dữ liệu gửi từ đoạn mã Javascript
để tối ưu hóa việc thu thập và xử lý thông tin cơ bản của website, thông tin truy cập
1.5.2 Nội dung 2
Nội dung: Áp dụng phương pháp hybrid (lai) kết hợp ưu điểm từ 2 kỹ thuật chính
trong việc thu thập dữ liệu.
Phương pháp: Sử dụng các gói tin HTTP Request, đoạn mã Javascript để thu
thập và xử lý thông tin cơ bản của website và thông tin truy cập.
1.5.3 Nội dung 3
Nội dung: Nghiên cứu cơ chế lưu trữ và tính toán dữ liệu hoạt động của người
dùng đáp ứng bài toán dữ liệu lớn, và thường xuyên cập nhập.
Phương pháp: Nghiên cứu sử dụng MongoDB và SQL Server để lưu trữ dữ
liệu gốc (raw) và dữ liệu tính toán.
1.5.4 Nội dung 4
Nội dung: Kết hợp việc thu thập, lưu trữ và xử lý thông tin truy cập của người

dùng để xây dựng công cụ đo lường và phân tích tương tác người dùng.
Phương pháp: Xây dựng công cụ tích hợp các nội dung nghiên cứu nêu trên.
1.5.5 Nội dung 5
Nội dung: Áp dụng công cụ cho một số website để thử nghiệm tính năng và
đánh giá kết quả.
17


GIỚI THIỆU ĐỀ TÀI

Phương pháp: khảo sát dựa trên một tập những website đang hoạt động để
đánh giá hiệu quả của công cụ.
1.6 Tính khoa học, tính mới của đề tài
Vấn đề đo lường và phân tích tương tác người dùng trên các website đã được
không ít người quan tâm, tuy nhiên những công bố, bài báo khoa học đề cập đến vấn
đề này khá ít, tuy nhiên một số công cụ đã được phát triển.
Google Analytics [2] phân tích lưu lượng, nguồn gốc truy cập của người dùng
dựa trên phương pháp page tagging.
PIWIK [3], Open Web Analytics [4] là những công cụ có chức năng gần tương
tự so với Google Analytics, tuy nhiên các công cụ này chủ yếu sử dụng log file để
thu thập dữ liệu, và bắt buộc người dùng cài đặt công cụ lên Website của mình.
Các công cụ thường chỉ sử dụng một cơ chế thu thập dữ liệu dựa trên các file
log hoặc page tagging, sẽ chịu ảnh hưởng bởi những khuyết điểm của cơ chế sử dụng
như đòi hỏi quyền truy cập vào server ở cơ chế sử dụng file log hay trình duyệt vô
hiệu hóa Javascript khi dùng page tagging. Tuy nhiên, page tagging vẫn đang đóng
vai trò chủ đạo trong việc thu thập dữ liệu với khả năng nhận biết những sự kiện
không thể phát hiện thông qua các file log, do đó kèm theo một số cải tiến cho ra
phương pháp hybrid kết hợp cùng file log sẽ khắc phục được phần nào nhược điểm
của page tagging.
Tính mới của đề tài là việc khai thác kỹ thuật thu thập dữ liệu hybrid kết hợp ưu

điểm của hai kỹ thuật sử dụng file log và kỹ thuật page tagging, kết hợp sử dụng
heatmap để trực quan hóa dữ liệu phân tích, giúp người quản trị có đầy đủ các thông
tin về tương tác người dùng với website cũng như theo dõi được mối quan tâm của
người dùng.
Trong khuôn khổ của đề tài, tác giả muốn xây dựng một công cụ có thể đo lường
và phân tích tương tác người dùng trên các website mà đơn vị nơi tôi công tác đã thực

18


GIỚI THIỆU ĐỀ TÀI

hiện. Qua đó giúp ích cho việc nghiên cứu, thay đổi và đưa ra những giải pháp để thu
hút và làm hài lòng khách hàng.
1.7 Cấu trúc của luận văn
Luận văn sẽ được Tác giả trình bày trong 5 chương.
CHƯƠNG 1. GIỚI THIỆU ĐỀ TÀI
Chương 1 sẽ giới thiệu tổng quan về tên đề tài, mục tiêu nghiên cứu, đối tượng
áp dụng, phạm vi nghiên cứu cũng như nội dung, phương pháp nghiên cứu, tính khoa
học, tính mới và cấu trúc của đề tài.
CHƯƠNG 2. TỔNG QUAN VẤN ĐỀ NGHIÊN CỨU VÀ CÁC KIẾN
THỨC NỀN TẢNG
Chương 2 sẽ giới thiệu các kiến thức về Đo lường và phân tích tương tác người
dùng trên website, cũng như các công nghệ, giải thuật sẽ sử dụng để phát triển công
cụ. Đồng thời Chương này ghi lại những điều mà tác giả tìm hiểu được từ việc phân
tích, đánh giá các công trình nghiên cứu, công cụ liên quan mật thiết đến đề tài đã
được công bố ở trong và ngoài nước
CHƯƠNG 3. CÔNG CỤ ĐO LƯỜNG VÀ PHÂN TÍCH TƯƠNG TÁC
NGƯỜI DÙNG TRÊN WEBSITE
Chương 3 sẽ mô tả các yêu cầu, thành phần, kiến trúc, giải thuật của công cụ đo

lường và phân tích tương tác người dùng trên website.
CHƯƠNG 4. HIỆN THỰC CÔNG CỤ ĐO LƯỜNG VÀ PHÂN TÍCH
TƯƠNG TÁC NGƯỜI DÙNG TRÊN WEBSITE
Chương 4 sẽ hiện thực các thiết kế từ chương 3 để đưa ra Giao diện và các thức
hoạt động của công cụ đo lường và phân tích tương tác người dùng trên website.
CHƯƠNG 5. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Chương 5 – Tổng kết lại những vấn đề đã được giải quyết và đưa ra những
hướng phát triển tiếp theo cho sản phẩm.

19


TỔNG QUAN VẤN ĐỀ NGHIÊN CỨU VÀ KIẾN THỨC NỀN TẢNG

CHƯƠNG 2

TỔNG QUAN VẤN ĐỀ NGHIÊN CỨU VÀ KIẾN

THỨC NỀN TẢNG
2.1 Khảo sát hiện trạng
Với một đề tài – ý tưởng, một điều khá quan trọng đó chính là xem xét xem ý
tưởng đó làm được gì, phục vụ cho ai cũng như xác định xem ý tưởng đó có từng
được phát triển chưa chưa, nếu có những điều làm được và chưa được là gì, để từ đó
người tác giả có thể tham khảo cũng như rút kinh nghiệm cho chính mình. Vì thế, tác
giả tiến hành cập nhật tình hình nghiên cứu trong nước và nước ngoài để đánh giá
xem chúng tôi đang ở đâu, ý tưởng của chúng tôi có những điều gì chưa được và có
gì đặc biệt so với những ý tưởng có trước.
2.1.1 Tình hình nghiên cứu ngoài nước
Công cụ đánh giá phân tích website được xem là phổ biến và mạnh mẽ nhất hiện
nay là Google Analytics. Tháng 1 năm 2013, theo báo cáo của BuiltWith, số website

sử dụng Google Analytics là 17,586,002 website, tương đương với 57,3% số lượng
Website. Đến thời điểm tháng 09 năm 2017, theo báo cáo của BuiltWith, Google
Analytics vẫn là công cụ được sử dụng phổ biến nhất [5]. Riêng với dữ liệu về visitor
(người dùng), Google Analytics hoàn toàn vượt trội, chiếm hơn 60%.

Hình 2.1. Tỉ lệ sử dụng công cụ phân tích trên toàn thế giới

20


TỔNG QUAN VẤN ĐỀ NGHIÊN CỨU VÀ KIẾN THỨC NỀN TẢNG

Hình 2.2. Tỉ lệ sử dụng công cụ phân tích dữ liệu người dùng

Công cụ này phân tích lưu lượng, nguồn gốc truy cập của người dùng dựa trên
phương pháp page tagging, cung cấp cho người sử dụng dịch vụ đoạn mã GA tracking
có dạng UA-000000-01 để cài đặt lên website. Với đoạn mã GA tracking này, người
sử dụng dịch vụ đăng nhập hệ thống để xem các thông tin thống kê từ Google
Analytics.
PIWIK [3], Open Web Analytics [4] là những công cụ có chức năng gần tương
tự so với Google Analytics, tuy nhiên khi sử dụng các công cụ này người quản trị
website buộc phải cài đặt toàn bộ công cụ lên website.
Tuy nhiên, các công cụ nêu trên không đáp ứng được nhu cầu thời gian thực
cũng như chưa thể biết người dùng làm chính xác những gì trên trang của mình.
Với khuynh hướng tracking hoạt động của người dùng, các ứng dụng như
Heatmap.me, CrazyEgg… cho phép theo dõi người dùng đến trang nào, click vào
những liên kết nào, thời gian trải nghiệm trên mỗi trang trong toàn bộ hành trình là
bao nhiêu.

21



TỔNG QUAN VẤN ĐỀ NGHIÊN CỨU VÀ KIẾN THỨC NỀN TẢNG

2.1.2 Tình hình nghiên cứu trong nước
Ở Việt Nam tại thời điểm tìm hiểu của tác giả, hướng nghiên cứu xây dựng ứng
dụng phân tích tương tác người dùng trên website hầu như còn khá mới. Việc áp dụng
chủ yếu dựa trên Google Analytics để phân tích và thống kê truy cập. Theo báo cáo
của BuiltWith, tới tháng 12 năm 2015 xấp xỉ 70% số lượng website Việt Nam đang
sử dụng Google Analytics [6].
Tại đơn vị mà tôi đang công tác, 100% khách hàng đều yêu cầu sử dụng Google
Analytics cài đặt vào các dự án Website mà công ty tôi thực hiện cho khách hàng.
2.2 Kiến thức nền tảng
2.2.1 Tổng quan về phân tích web
Theo định nghĩa của Web Analytics Asscociation [7], phân tích web (web
analytics) là “phương pháp thu thập, đo lường, phân tích, tạo báo cáo về dữ liệu
Internet nhằm mục đích am hiểu và tối ưu hóa việc sử dụng web”. Phân tích web cố
gắng đem lại những hiểu biết nhất định về những người sử dụng website và sử dụng
thông tin đó để cải thiện tính hiệu quả của website.
Các kỹ thuật web analytics thường được chia làm hai kỹ thuật là on-site và off-site.
2.2.2 Kỹ thuật phân tích on-site và off-site
Kỹ thuật on-site thu thập dữ liệu trên chính website nhằm phân tích tương tác
người dùng thông qua các thông số: số lượt truy cập, thời gian truy cập, đường dẫn
v.v … (Kaushik, 2009) [8] .
Trong khi đó, kỹ thuật off-site mang nặng tính nghiên cứu và khảo sát; thường
được cung cấp bởi một tổ chức thứ ba với các dữ liệu bao gồm các khảo sát, báo cáo
thị trường, thông tin so sánh v.v … Một số tổ chức đại diện cho kỹ thuật off-site:
Alexa [9], Hitwise, Hitwise …
Để đạt được hiệu quả tốt nhất trong việc phân tích website, các nhà phát triển
website thường kết hợp cả hai kỹ thuật on-site và off-site. Tuy nhiên, với những


22


TỔNG QUAN VẤN ĐỀ NGHIÊN CỨU VÀ KIẾN THỨC NỀN TẢNG

website nhỏ hoặc không quá phức tạp, phương pháp on-site được sử dụng rộng rãi và
trực quan hơn.
Trong phạm vi đề tài, tác giả tập trung nghiên cứu kỹ thuật on-site, đưa ra báo
cáo đánh giá dựa trên chính dữ liệu thu thập từ website. Các nội dung còn lại trong
nghiên cứu tập trung xoay quanh kỹ thuật on-site.
2.2.3 Các cơ chế thu thập dữ liệu tương tác
Đối với việc phân tích website sử dụng phương pháp on-site, có hai kỹ thuật
chính trong việc thu thập dữ liệu là sử dụng logfile và page tagging.
Sử dụng các file log
Phương pháp đầu tiên là phân tích file server log. File log được tạo ra bởi
chính web server để ghi lại hoạt động và file HTTP header trong một định dạng văn
bản. Phương pháp này được xem là phương pháp truyền thống và cơ bản vì các web
server thông thường đã tạo ra các file log dựa vào các dữ liệu thô đã có sẵn.
Việc sử dụng log file để theo dõi các yêu cầu truy cập được sử dụng kể từ khi
World Wide Web xuất hiện, sử dụng rộng rãi từ năm 1993. Một trong những nhà tiên
phong của việc phân tích website dựa trên Log File - WebTrends, một công ty Phần
Lan, đã tiến hành phân tích trang website sử dụng dữ liệu được thu thập từ file log.
Trong cùng năm đó, WebTrends đã tạo ra phần mềm thương mại phân tích trang
website đầu tiên. Năm 1995, Tiến sĩ Stephen Turner đã tạo ra Analog, phần mềm
phân tích tệp tin miễn phí đầu tiên.
File log của web server có chứa nhiều thông tin liên quan đến việc sử dụng
website của người dùng, cụ thể là tần suất những trang web được yêu cầu hoặc sử
dụng. Các file này thực chất là các file dạng text gồm nhiều dòng khác nhau tương
ứng với mỗi request gửi từ người dùng, do đó dữ liệu này có thể thu thập dễ dàng

bằng việc đọc các file text thông thường.
Trong phạm vi đề tài, tác giả lựa chọn nghiên cứu các file log áp dụng trên IIS.
Tuy nhiên do IIS Web server hỗ trợ nhiều định dạng file log, tương ứng là tập hợp

23


TỔNG QUAN VẤN ĐỀ NGHIÊN CỨU VÀ KIẾN THỨC NỀN TẢNG

những thông tin khác nhau, nên việc xác định được định dạng nào đang được sử dụng
đóng vai trò rất quan trọng trong quá trình thu thập thông tin từ các file log.
Để phân biệt được các định dạng log được sử dụng bởi IIS web server và trích
xuất thông tin từ chúng được chính xác, ta cần nắm được đặc điểm đặc trưng chúng.

 Định dạng file log W3C Extended
Định dạng W3C Extended là định dạng ASCII có thể tùy chỉnh gồm nhiều thuộc
tính lưu trữ các thông tin khác nhau. Người quản trị có thể chọn tổ hợp các thuộc tính
quan trọng cần theo dõi và giảm thiểu kích thước file log bằng cách bỏ đi những thuộc
tính không cần thiết.
Ở định dạng này, file log có chứa những dòng thông tin mô tả dữ liệu của nó
bắt đầu với ký tự # như thời gian (#Date), phiên bản (#Version), trong đó #Fields
bao gồm danh sách các thuộc tính trong mỗi dòng log là dòng quan trọng nhất.
Do đặc điểm có thể tùy chỉnh các thuộc tính cần theo dõi, các dòng log trước và
sau khi tùy chỉnh có thể khác nhau về số lượng các thuộc tính của nó. Dòng #Fields
được đặt phía trước các dòng log nhằm mục đích thông báo những thông tin nào được
chứa trong những dòng log đó. Khi có bất kỳ thay đổi nào trong số lượng các thuộc
tính này, dòng #Fields sẽ được cập nhật lại. Mỗi dòng log chứa giá trị tương ứng với
các thuộc tính, các giá trị này ngăn cách với nhau bằng khoảng trắng.
Hình bên dưới đưa ra một ví dụ minh họa đối với file log sử dụng định dạng
W3C Extended với danh sách các thuộc tính được liệt kê ở dòng #Fields. Trong các

dòng log phía dưới, giá trị của các thuộc tính cách nhau bằng một khoảng trắng.

24


TỔNG QUAN VẤN ĐỀ NGHIÊN CỨU VÀ KIẾN THỨC NỀN TẢNG
#Software: Microsoft Internet Information Services 10.0
#Version: 1.0
#Date: 2017-04-20 09:22:15
#Fields: date time s-ip cs-method cs-uri-stem cs-uri-query sport cs-username c-ip cs(User-Agent) cs(Referer) sc-status scsubstatus sc-win32-status time-taken
2017-04-20
09:22:15
127.0.0.1
GET
/redirect.asp
target=cstutorialscarousel&product=camtasiastudio&lang=enu&ve
r=9.0.3&os=win
80
127.0.0.1
Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64;+Trident/7.0;+rv:11.
0)+like+Gecko - 404 0 2 3887

Hình 2.3. Minh họa file log với định dạng W3C Extended

 Định dạng file log của IIS
Định dạng log IIS là định dạng cố định ở dạng ASCII, không thể tùy chỉnh các
thuộc tính. Trong định dạng này chỉ chứa các dòng log gồm 15 thuộc tính khác nhau
phân cách với nhau bằng dấu phẩy (,). Danh sách các thuộc tính bao gồm: địa chỉ IP
của client, username, ngày, giờ, dịch vụ, tên server, địa chỉ IP của server, thời gian
thực hiện, số lượng byte client gửi, số lượng byte server gửi, status code của dịch vụ,

status code của server, kiểu request, mục đích của hành động, các tham số.
Hình bên dưới đưa ra một ví dụ minh họa đối với file log sử dụng định dạng log
của IIS.
::1, -, 8/17/2017, 16:07:03, W3SVC1, SURI, ::1, 1426, 390, 921,
200, 0, GET, /, -,
::1, -, 8/17/2017, 16:07:03, W3SVC1, SURI, ::1, 31, 354, 98984,
200, 0, GET, /iisstart.png, -,
::1, -, 8/17/2017, 16:07:03, W3SVC1, SURI, ::1, 33, 353, 5019,
404, 2, GET, /favicon.ico, -,

Hình 2.4. Minh họa file log với định dạng log của IIS

 Định dạng log NCSA
Tương tự như định dạng IIS, định dạng này ở dạng ASCII và có số thuộc tính
theo dõi cố định không thể tùy chỉnh, tuy nhiên số lượng thuộc tính ít hơn với 7 thuộc
tính ngăn cách với nhau bằng khoảng trắng. Danh sách các thuộc tính của định dạng
NCSA Common log file: Địa chỉ host ở xa, log name ở xa (luôn có giá trị là dấu gạch
25


TỔNG QUAN VẤN ĐỀ NGHIÊN CỨU VÀ KIẾN THỨC NỀN TẢNG

ngang -), username, ngày và giờ, request và phiên bản giao thức, status code của dịch
vụ, số lượng byte đã gửi.
Hình bên dưới đưa ra ví dụ minh họa file log sử dụng định dạng log NCSA.
::1 - - [19/Aug/2017:15:17:03 +0700] "GET / HTTP/1.1" 200 921
::1 - - [19/Aug/2017:15:17:03 +0700] "GET /iisstart.png HTTP/1.1"
200 98984
::1 - - [19/Aug/2017:15:17:03 +0700] "GET /favicon.ico HTTP/1.1"
404 5019


Hình 2.5. Minh họa file log với định dạng NCSA

Cơ chế page tagging
Phương pháp thứ hai, page tagging (gắn thẻ trang), sử dụng JavaScript nhúng
trong trang web để tương tác đến một máy chủ phân tích chuyên.
So với phương pháp sử dụng file server log, phương pháp page tagging có một
số ưu điểm (Clifton, 2012) [10]. Thứ nhất, những file client scripts có thể thu thập
những thông tin về kích thước màn hình, mã màu sắc sử dụng. Thứ hai, Javascript có
thể theo dõi hành động của người dùng thông qua các sự kiện như nhấn phím và nhấp
chuột, di chuột v.v … - những sự kiện mà phương pháp file server log không phát
hiện được. Thứ ba, phương pháp này không đòi hỏi người dùng phải có quyền truy
cập vào web server. Tuy nhiên, phương pháp page tagging cũng tồn tại những khuyết
điểm so với phương pháp sử dụng file server log. Đối với những trình duyệt vô hiệu
hóa cookies, Javascript, page tagging tạo ra những số liệu thống kê không chính xác.
Page tagging cũng không thể phân tích trên những định dạng none-page như file PDF,
file download (ZIP, EXE,…), file media…
2.2.4 Các thông số đánh giá
Các thông số (metric) là những số liệu được tính toán dựa trên những dữ liệu
tương tác thu thập được từ phía người dùng, dựa vào đó đưa ra cái nhìn tổng quan về
việc sử dụng website.
Theo Web Analytics Association [11], các metric có thể được chia làm 02 loại:

26


×