Tải bản đầy đủ (.doc) (88 trang)

Xây dựng hệ thống thống kê và phân tích thông tin truy cập của các 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 (990.72 KB, 88 trang )

ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA CÔNG NGHỆ THÔNG TIN
Tel. (84-511) 736 949, Fax. (84-511) 842 771
Website: itf.ud.edu.vn, E-mail:
LUẬN VĂN TỐT NGHIỆP KỸ SƯ
NGÀNH CÔNG NGHỆ THÔNG TIN
MÃ NGÀNH : 05115
ĐỀ TÀI :
Xây dựng hệ thống thống kê và phân tích thông tin truy cập của các
website
Mã số : 04T2-002
Ngày bảo vệ : 16/06/2009
SINH VIÊN : Quán Đức Bình
Nguyễn Văn Hồng Quang
LỚP : 04T2
CBHD : TS. GVC. Nguyễn Thanh Bình
ĐÀ NẴNG, 06/2009
LỜI CẢM ƠN
Để hoàn thành được đồ án này, chúng em đã nhận được sự chỉ bảo tận
tình của các Thầy Cô giáo trong khoa Công nghệ Thông tin trường Đại
học Bách Khoa, sự giúp đỡ động viên của gia đình và bạn bè.
Trước tiên chúng em xin chân thành cảm ơn tất cả các thầy cô của
trường Đại học Bách Khoa, Đại học Đà Nẵng đã dạy dỗ và truyền đạt kiến
thức cho chúng em trong thời gian học tại trường.
Em xin chân thành cám ơn thầy giáo Tiến sĩ Nguyễn Thanh Bình. Cám
ơn Thầy đã tận tình hướng dẫn góp ý cho chúng em trong quá trình thực
hiện đồ án này. Nhờ đó mà chúng em có thể hoàn thành theo đúng yêu cầu
về nội dung của một đồ án tốt nghiệp.
Chúng em cũng xin gửi lời cảm ơn đến những người bạn cùng ngành đã
góp ý và hỗ trợ về mặt kỹ thuật, tài liệu cũng như thông tin để chúng em có


thể hoàn thành đồ án kịp tiến độ được giao.
Sinh viên,
Quán Đức Bình
Nguyễn Văn Hồng
Quang
LỜI CAM ĐOAN
Tôi xin cam đoan :
1 Những nội dung trong luận văn này là do tôi thực hiện dưới sự
hướng dẫn trực tiếp của thầy (cô) TS. GVC. Nguyễn Thanh Bình..
2 Mọi tham khảo dùng trong luận văn đều được trích dẫn rõ ràng tên
tác giả, tên công trình, thời gian, địa điểm công bố.
3 Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá,
chúng tôi xin chịu hoàn toàn trách nhiệm.
Sinh viên,
Quán Đức Bình
Nguyễn Văn Hồng
Quang
NHẬN XÉT CỦA CÁN BỘ HƯỚNG DẪN
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
NHẬN XÉT CỦA CÁN BỘ DUYỆT
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
MỤC LỤC
MỞ ĐẦU...........................................................................................................1
Giới thiệu bối cảnh đề tài...................................................................................................1
Ý nghĩa và mục đích của đề tài..........................................................................................2
Nhiệm vụ phải thực hiện....................................................................................................3
Tóm tắt phương pháp triển khai.........................................................................................5
Bố cục sẽ trình bày.............................................................................................................5
CƠ SỞ LÝ THUYẾT.......................................................................................6
.I Tìm hiểu các khái niệm trong ứng dụng thống kê...........................................................6
.II Khai thác thông tin của client khi họ truy cập vào 1 website........................................9
.III Tổng quan về Webservices..........................................................................................10
.IV Lựa chọn CSDL – Tại sao chọn SQL Server 2005....................................................16
.V Báo cáo trực quan bằng hình ảnh.................................................................................21
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG...................................................24
.I Giới thiệu bài toán..........................................................................................................24
.II Các chức năng yêu cầu..................................................................................................24
.III Phương pháp giải quyết...............................................................................................25
.IV Phân tích hệ thống thông tin........................................................................................26
.V Thiết kế hệ thống thông tin...........................................................................................51
PHÁT TRIỂN ỨNG DỤNG...........................................................................62
.I Công cụ và môi trường phát triển..................................................................................62

.II Một số kết quả đạt được................................................................................................66
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN.....................................................71
.I Kết quả đạt được.............................................................................................................71
.II Những hạn chế...............................................................................................................71
.III Hướng mở rộng và phát triển của đề tài.....................................................................71
[1] OReilly Web Site Measurement. ISBN: 0-596-00988-7, 8-2005, 430 trang.............73
[2] OReilly. SQL in a Nutshell 2nd Edition. ISBN: 0-596-00481-8, 710 trang..............73
[3] Philip Olson. PHP Manual. PHP Documentation Group, 08-12-2007, 820 trang....73
[4] Trang web: />[5] Trang web: ........................................................................73
[6] Trang web: ..............................................................................73
[7] Trang web: ............................................................................73
[8] Trang web: ..........................................................................................73
[9] Trang web: ..................................................................................73
[10] Trang web: .................................................................................73
[11] Và rất nhiều các trang web khác...............................................................................73
TÓM TẮT LUẬN VĂN TỐT NGHIỆP........................................................74
.IV Tên đề tài: ...................................................................................................................74
i
.V Tóm tắt nội dung luận văn............................................................................................74
ii
Xây dựng hệ thống phân tích và thống kê thông tin các lượt truy cập đến website
MỤC LỤC CÁC BẢNG
BẢNG 1: CÁC CHỦ THỂ CỦA HỆ THỐNG..............................................26
BẢNG 2: CÁC USE CASE CỦA COLLECTOR.........................................28
BẢNG 3: CÁC USE CASE CỦA GUEST.....................................................29
BẢNG 4: CÁC USE CASE CỦA THÀNH VIÊN.........................................30
BẢNG 5: CÁC USE CASE CỦA TÁC NHÂN HỆ THỐNG........................31
BẢNG 6: BẢNG MÔ TẢ LỚP DBSOURCE................................................52
BẢNG 7: BẢNG MÔ TẢ LỚP SPIDER.......................................................54
BẢNG 8: MÔ HÌNH LỚP WSCLIENT........................................................55

BẢNG 9: BẢNG MÔ TẢ LỚP WSSERVICE..............................................56
BẢNG 10: BẢNG MÔ TẢ LỚP WSMESSAGE...........................................56
BẢNG 11: BẢNG MÔ TẢ GIAO DIỆN ĐĂNG KÝ....................................57
BẢNG 12: BẢNG MÔ TẢ GIAO DIỆN CHỨC NĂNG THIẾT LẬP THÔNG
TIN CHO WEBSITE......................................................................................58
BẢNG 13: BẢNG MÔ TẢ GIAO DIỆN CHỨC NĂNG LẤY CODE
JAVASCRIPT.................................................................................................59
BẢNG 14: BẢNG MÔ TẢ GIAO DIỆN ĐĂNG NHẬP...............................59
BẢNG 15: BẢNG MÔ TẢ GIAO DIỆN HỆ THỐNG BÁO CÁO DẠNG
BÁNH (PIE)....................................................................................................60
BẢNG 16: BẢNG MÔ TẢ GIAO DIỆN BÁO CÁO DẠNG CỘT HAY
ĐƯỜNG THẲNG...........................................................................................61
Sinh viên: Quán Đức Bình, Nguyễn Văn Hồng Quang iii
Xây dựng hệ thống phân tích và thống kê thông tin các lượt truy cập đến website
MỤC LỤC HÌNH ẢNH
HÌNH 1: CÂY MỤC TIÊU CỦA ĐỀ TÀI.......................................................3
HÌNH 2: CÁC GIAO THỨC CỦA WEB SERVICE....................................13
HÌNH 3: BIỂU ĐỒ XỬ LÝ CSDL TRƯỚC KHI THIẾT LẬP INDEX.....17
HÌNH 4: BIỂU ĐỒ XỬ LÝ CSDL SAU KHI LẬP INDEX.........................17
HÌNH 5: CÔNG CỤ SQL PROFILER CỦA SQL SERVER.......................18
HÌNH 6: CÔNG CỤ DATA ENGINE TUNNING ADVISOR.....................18
HÌNH 7: CÔNG CỤ DATA ENGINE TUNNING ADVISOR VÀ GIẢI PHÁP
XÂY DỰNG CÁC INDEX.............................................................................19
HÌNH 8: TABLE ĐÃ ĐƯỢC TẠO PARTITION.........................................20
HÌNH 9: CÁCH TẠO PARTITION TABLE................................................20
HÌNH 10: ĐỒ THỊ DẠNG BÁNH.................................................................21
HÌNH 11: ĐỒ THỊ DẠNG CỘT....................................................................21
HÌNH 12: ĐỒ THỊ DẠNG ĐƯỜNG THẲNG..............................................22
HÌNH 13: ĐỒ THỊ VÙNG.............................................................................22
HÌNH 14: ĐỒ THỊ XU HƯỚNG...................................................................23

HÌNH 15: CÁC CHỦ THỂ CỦA HỆ THỐNG.............................................26
HÌNH 16: CÁC USE CASE CỦA COLLECTOR........................................27
HÌNH 17: CÁC USE CASE CỦA GUEST....................................................28
HÌNH 18: CÁC USE CASE CỦA MEMBER...............................................29
HÌNH 19: CÁC USE CASE CỦA TÁC NHÂN HỆ THỐNG.......................30
HÌNH 20: SƠ ĐỒ TUẦN TỰ CÁC CHỨC NĂNG CỦA COLLECTOR . .44
HÌNH 21: SƠ ĐỒ TUẦN TỰ CHỨC NĂNG KHAI THÁC THÔNG TIN VỀ
TRÌNH DUYỆT .............................................................................................45
HÌNH 22: SƠ ĐỒ TUẦN TỰ CHỨC NĂNG KHAI THÁC THÔNG TIN
TRÌNH DUYỆT .............................................................................................46
HÌNH 23: SƠ ĐỒ TUẦN TỰ CHỨC NĂNG KHAI THÁC THÔNG TIN
CÁC REFERER ............................................................................................47
HÌNH 24: SƠ ĐỒ TUẦN TỰ CHỨC NĂNG KHAI THÁC THÔNG TIN
CÁC TRANG NGÕ VÀO .............................................................................48
HÌNH 25: SƠ ĐỒ TUẦN TỰ CHỨC NĂNG KHAI THÁC THÔNG TIN
NGÕ RA..........................................................................................................49
Sinh viên: Quán Đức Bình, Nguyễn Văn Hồng Quang iv
Xây dựng hệ thống phân tích và thống kê thông tin các lượt truy cập đến website
HÌNH 26: SƠ ĐỒ TUẦN TỰ CHỨC NĂNG KHAI THÁC THÔNG TIN
LẦN LOAD TRANG......................................................................................49
HÌNH 27: SƠ ĐỒ TUẦN TỰ CHỨC NĂNG KHAI THÁC THÔNG TIN
THỜI GIAN DUYỆT WEB...........................................................................50
HÌNH 28: SƠ ĐỒ TUẦN TỰ CHỨC NĂNG KHAI THÁC THÔNG TIN VỀ
LƯỢT TRUY CẬP.........................................................................................51
HÌNH 29: MÔ HÌNH LỚP DBSOURCE......................................................52
HÌNH 30: MÔ HÌNH LỚP SPIDER..............................................................53
HÌNH 31: MÔ HÌNH LỚP WSCLIENT.......................................................55
HÌNH 32: MÔ HÌNH LỚP WSSERVICE....................................................56
HÌNH 33: MÔ HÌNH LỚP WSMESSAGE...................................................56
HÌNH 34: WIREFRAME GIAO DIỆN ĐĂNG KÝ ...................................57

HÌNH 35: WIREFRAME THIẾT LẬP THÔNG TIN WEBSITE...............58
HÌNH 36: WIREFRAME LẤY MÃ SCRIPT...............................................58
HÌNH 37: WIREFRAME ĐĂNG NHẬP HỆ THỐNG................................59
HÌNH 38: WIREFRAME THAY ĐỔI MẬT KHẨU...................................59
HÌNH 39: BẢNG MÔ TẢ GIAO DIỆN CHỨC NĂNG THAY ĐỔI MẬT
KHẨU.............................................................................................................60
HÌNH 40: WIREFRAME REPORT DẠNG PIE..........................................60
HÌNH 41: WIREFRAME REPORT DẠNG CỘT VÀ ĐƯỜNG THẲNG. .61
HÌNH 42: CÁC BIỂU ĐỒ CỦA CHARTDIRECTOR................................64
HÌNH 43: GIAO DIỆN CHỨC NĂNG ĐĂNG KÝ ĐÃ LÀM.....................66
HÌNH 44: GIAO DIỆN CHỨC NĂNG THIẾT LẬP THÔNG TIN WEBSITE
ĐÃ LÀM.........................................................................................................67
HÌNH 45: GIAO DIỆN CHỨC NĂNG ĐĂNG NHẬP ĐÃ LÀM................67
HÌNH 46: PHẦN HEADER CỦA TRANG BÁO CÁO DẠNG BÁNH.......68
HÌNH 47: PHẦN CHI TIẾT CỦA CÁC TRANG BÁO CÁO.....................68
HÌNH 48: TRANG BÁO CÁO DẠNG CỘT.................................................69
HÌNH 49: TRANG BÁO CÁO DẠNG ĐƯỜNG THẲNG...........................70
Sinh viên: Quán Đức Bình, Nguyễn Văn Hồng Quang v
Xây dựng hệ thống phân tích và thống kê thông tin các lượt truy cập đến website
CHƯƠNG 1
MỞ ĐẦU
Giới thiệu bối cảnh đề tài
Hiện nay, Internet đã trở nên khá phổ biến và số lượng người dùng cũng đã tăng
vọt đáng kể, người sử dụng website cũng trở nên thành thạo và chuyên nghiệp hơn.
Bên cạnh đó, số lượng người sở hữu các website, nhất là các website thương mại điện
tử và các website dịch vụ cũng tăng vọt, và từ đó, các chủ website (hay còn gọi là các
webmaster) trở nên có nhu cầu hơn bao giờ hết về việc muốn tìm hiểu tất cả mọi
thông tin liên quan đến những người truy cập vào website của họ.
Ngày nay, việc cạnh tranh các website đang bắt đầu trở nên gay gắt, những ai
muốn thành công trong lĩnh vực kinh doanh trực tuyến đều rất muốn lôi kéo khách

hàng đến website của họ ngày càng nhiều hơn, và do đó cần tìm hiểu các thông tin về
khách hàng như: Họ đến từ đâu, phần lớn khách hàng sử dụng trình duyệt gì, hệ điều
hành nào, họ có thói quen dùng các chương trình tìm kiếm nào, online vào giờ nào
trong ngày nhiều nhất, ngày nào trong tuần nhiều nhất, v.v... Rất nhiều thông tin cần
phải nắm về thói quen cũng như sự thỏa mãn của khách hàng về website, do đó, việc
làm chủ thông tin về khách hàng sẽ tạo cho các nhà phát triển web đưa ra những
quyết định về việc sẽ phát triển hệ thống website của mình như thế nào để có thể lôi
kéo 1 cách tốt nhất khách hàng đến website của mình.
Hiện nay, trên Internet đã có nhiều nhà cung cấp dịch vụ khai thác thông tin này,
như Google Analystic, Alexa hay HiStats. Các dịch vụ này đều cung cấp dịch vụ
khai thác các thông tin cơ bản của những người truy cập web, tuy nhiên, việc báo cáo
kết quả thì cần phải đăng nhập trực tiếp vào hệ thống của họ (Google, Alexa,
Histats, ... ), do đó có thể gây ra 1 số bất tiện cho các webmaster khi họ muốn kết quả
báo cáo đó được hiển thị trên hệ thống của họ hay trên điện thoại di động (ĐTDĐ)
hay PDA..
Đứng trên góc độ muốn thõa mãn nhu cầu còn lại của webmaster về việc khai
thác thông tin đến các client khác nhau, đề tài “Xây dựng hệ thống thống kê và phân
tích thông tin truy cập của các website” ra đời nhằm mục đích cung cấp cho các
webmaster một hệ thống thống kê thông tin người truy cập với đầy đủ các thông tin
cơ bản, ngoài ra còn cung cấp cho các webmaster một web service trả về kết quả báo
cáo về thông tin truy cập của các khách hàng đến website của họ. Như vậy, ngoài
việc có thể xem báo cáo trực tiếp trên hệ thống, các webmaster còn có thể dùng kết
nối đến hệ thống để lấy kết quả báo cáo về (thông qua web service) để có thể hiển thị
lên các phần mềm của họ như phần mềm để bàn, ĐTDĐ hay PDA.
Đề tài này ra đời với ý đồ không hề tham lam có thể cung cấp được nhiều thông
tin như các đại gia như Google, Alexa hay HiStats mà chỉ muốn có một hệ thống
tương tự, qua đó, có thể tiếp tục phát triển thêm những chức năng chuyên biệt, có thể
chuyên biệt cho từng quốc gia, hoặc chuyên biệt cho từng loại hình website nào đó.
Sinh viên: Quán Đức Bình, Nguyễn Văn Hồng Quang 1
Xây dựng hệ thống phân tích và thống kê thông tin các lượt truy cập đến website

Ý nghĩa và mục đích của đề tài
− Tên đề tài: “Xây dựng hệ thống thống kê và phân tích thông tin truy cập của
các website”.
− Đề tài góp phần nghiên cứu cách thức khai thác thông tin về các lượt truy
cập, qua đó giúp các webmaster có thể nắm rõ thông tin về khách hàng của
họ và qua đó, đưa ra những chiến lược, sách lượt để nâng tầm website của
họ.
− Cung cấp cho các webmaster 1 web service để họ có thể nhận báo cáo của
họ, và dùng nó cho các chương trình riêng của họ một cách dễ dàng, nhanh
chóng.
Sinh viên: Quán Đức Bình, Nguyễn Văn Hồng Quang 2
Xây dựng hệ thống phân tích và thống kê thông tin các lượt truy cập đến website
Nhiệm vụ phải thực hiện
.I.1. Mục tiêu nghiên cứu
Xây dựng cây mục tiêu như sau:
Hình 1: Cây mục tiêu của đề tài
.I.2. Kết quả dự kiến
− Xây dựng thành công hệ thống khai thác, bóc tách thông tin website của
thành viên.
Sinh viên: Quán Đức Bình, Nguyễn Văn Hồng Quang 3
Xây dựng hệ thống phân tích và thống kê thông tin các lượt truy cập đến website
− Xây dựng thành công một quy trình hoàn chỉnh cho một webmaster bất kỳ
muốn sử dụng dịch vụ khai thác thông tin của hệ thống, từ việc đăng ký đến
cách thức áp dụng kỹ thuật tách dữ liệu trên website của họ
− Xây dựng thành công hệ thống báo cáo chạy trên môi trường web, qua đó
giúp webmaster (đã đăng nhập) có thể xem được báo cáo thống kê về thông
tin truy cập trên website của họ
− Xây dựng thành công một webservice, qua đó các webmaster có thể gửi các
yêu cầu để lấy báo cáo của họ qua giao thức SOAP.
− Xây dựng một ứng dụng .NET, sử dụng giao thức SOAP để truy cập đến hệ

thống và lấy ra các báo cáo tương ứng
− Xây dựng 1 ứng dụng Mobile nhỏ truy cập đến 1 wap server để lấy ra kết
quả báo cáo.
Sinh viên: Quán Đức Bình, Nguyễn Văn Hồng Quang 4
Xây dựng hệ thống phân tích và thống kê thông tin các lượt truy cập đến website
Tóm tắt phương pháp triển khai
Bố cục sẽ trình bày
− Chương 1 (Giới thiệu): Giới thiệu bối cảnh của đề tài. Chọn tên đề tài, mục
đích và ý nghĩa của đề tài. Nhiệm vụ phải thực hiện (các mục tiêu nghiên cứu
cụ thể và kết quả dự kiến). Tóm tắt phương pháp triển khai, tóm tắt nội dung,
bố cục sẽ trình bày.
− Chương 2 (Cơ sở lý thuyết):
• Trình bày các khái niệm trong ứng dụng
• Tìm hiểu cách thức khai thác thông tin bằng cách sử dụng javascript và
HTTP Header
• Tìm hiểu về webservice, cách thức cài đặt và chạy ví dụ minh họa.
• Lựa chọn cách thức lưu trữ dữ liệu và kiến trúc database.
• Tìm hiểu về các đồ thị báo cáo
− Chương 3 (Phân tích và thiết kế hệ thống): giới thiệu bài toán, các yêu cầu
chức năng, phương pháp giải quyết, trình bày kết quả phân tích và thiết kế bài
toán gồm: phân tích chức năng như sơ đồ UseCase, sơ đồ tuần tự; thiết kế như
sơ đồ lớp; giao diện,…).
− Chương 4 (Phát triển ứng dụng): Giới thiệu môi trường, công cụ và công
nghệ được áp dụng; và trình bày một số kết quả đạt được.
− Chương 5 (Kết luận và hướng phát triển): Trình bày, đánh giá kết quả đạt
được và chưa đạt được của chương trình, hướng bổ sung và mở rộng đề tài.
Sinh viên: Quán Đức Bình, Nguyễn Văn Hồng Quang 5
Xây dựng hệ thống phân tích và thống kê thông tin các lượt truy cập đến website
CHƯƠNG 2
CƠ SỞ LÝ THUYẾT

.I Tìm hiểu các khái niệm trong ứng dụng thống kê
Các thông tin về người sử dụng website được hệ thống thống kê lại và chia làm
các 4 nhóm chính sau:
.I.1. Referer:
Nhóm này thống kê lại tất cả những tác nhân góp phần mang người sử dụng đến
trang web cần thống kê, được chia làm 4 nhóm chính sau
.I.1.1. Direct Request:
Khi người sử dụng đến trang web cần thống kê bằng cách gõ link trực tiếp vào
trình duyệt, thì những liên kết đó được thống kê vào kiểu Direct Request. Tất cả
các Direct Request được tính là 1 Referer
.I.1.2. No Referrer:
Vì một lý do nào đó, hệ thống không thể xác định được người dùng đến
website từ các tác nhân nào, và khi đó hệ thống sẽ thống kê loại tác nhân này vào
kiểu No Referer, và cũng giống như Direct Request, tất cả các request thuộc loại
này được tính là 1 Referer.
.I.1.3. Search Engines:
Khi người sử dụng đến với trang web cần thống kê từ một cỗ máy tìm kiếm
nào đó, ví dụ Google, hay Yahoo, Live Search,v.v... thì những request này được
thống kê vào kiểu Search Engine, mỗi request đến từ một cỗ máy tìm kiếm nào đó
được tính là một Referer.
.I.1.4. Search keywords:
Cũng từ các cỗ máy tìm kiếm, người sử dụng đến với trang web cần thống kê,
nhưng lúc này, hệ thống sẽ chỉ quan tâm đến họ sử dụng từ khóa nào để đến với
website cần thống kê, mỗi request đến bằng một từ khóa nào đó được tính là một
Referer.
.I.1.5. Countries:
Mỗi request đến với website cần tìm kiếm, từ một quốc gia nào đó được tính
là 1 Referer
Sinh viên: Quán Đức Bình, Nguyễn Văn Hồng Quang 6
Xây dựng hệ thống phân tích và thống kê thông tin các lượt truy cập đến website

.I.2. System:
.I.2.1. Color/Resolution:
Chúng ta sẽ thống kê người dùng đến từ loại màn hình nào: 16 triệu màu,
65,536 màu hay 256 màu. Màn hình hiển thị của người dùng ở chế độ nào Higher,
1024x760, 800x600, 640x480, Unknown.
.I.2.2. Browsers:
Thống kê website theo tiêu chí nguời ta đến với website bằng trình duyệt nào:
FireFox 2, FireFox 3, Internet Explorer 6, Internet Explorer 7, Safari, Opera,
Google Chrome, …
.I.2.3. Operating Systems:
Người dùng đến với website cần thống kê, sử dụng hệ điều hành nào.
.I.3. Traffic:
.I.3.1. Visits:
Khái niệm Visit được đưa ra để tính tổng số session truy cập vào website cần
thống kê. Sau một session mới, nếu người dùng truy cập vào lại website đó thì
tính là lần truy cập mới. Để có thể hiểu rõ hơn về Visit, ta có thể hình dung như
sau: Mỗi khi ta đến 1 trang web, có nghĩa là ta đã mở một session (và cũng có
nghĩa là 1 Visit), và session mới chỉ tính khi ta đóng trình duyệt web đó lại rồi lại
mở trình duyệt web lên lại và truy cập vào lại trang web. Thông thường, ở một số
website, người ta thiết đặt thời gian timeout của mỗi session khoảng 30 phút, có
nghĩa là sau 30 phút nếu ta không gửi cho server bất kỳ một request nào, thì
server sẽ tạo lại cho ta một session mới.
.I.3.2. Page views:
Là tổng số lần load trang web, tức là số Page views sẽ được tăng lên mỗi khi
người sử dụng tác động lên 1 trang web nào đó bằng cách refresh lại trang hoặc
đến 1 trang con khác..
.I.3.3. Unique visitors:
Có thể 1 người sử dụng sẽ đến với website cần thống kê nhiều lần, nhưng để
xác định xem có bao nhiêu người cụ thể đến với website cần thống kê thì người ta
đưa ra khái niệm Unique visitors.

.I.3.4. New visitors:
Để tính xem trong tuần này, hoặc tháng này có bao nhiêu người mới đến với
website cần thống kê, người ta đưa ra khái niệm New Visitor. Những người nào đã
Sinh viên: Quán Đức Bình, Nguyễn Văn Hồng Quang 7
Xây dựng hệ thống phân tích và thống kê thông tin các lượt truy cập đến website
từng đến với website thống kê 1 lần rồi thì sẽ không được tính là New Visitor
nữa..
.I.3.5. Visit per week:
Thống kê website có bao nhiêu lượt truy cập trong một tuần. Trong 1 tuần thì
thường người ta đến với website của mình nhiều nhất vào ngày nào trong tuần.
.I.3.6. Visit per hour:
Thống kê lượng truy cập theo giờ trong một ngày. Tiêu chí này rất quan
trọng, dựa trên tiêu chí này người ta sẽ biết được website của mình được truy cấp
nhiều nhất vào giờ nào trong ngày.
.I.3.7. Visit frequency:
Để tính độ thường xuyên của người sử dụng khi họ sử dụng trang web cần
thống kê, nghĩa là khi chúng ta quan tâm đến việc họ đến website mình một lần,
rồi họ có quay lại nữa hay không, quay lại bao nhiêu lần. Để tính được mật độ
này, người ta đưa ra khái niệm Visit Frequency.
.I.4. Time:
.I.4.1. Time spent on site:
Thời gian người dùng ở lại với website trong thời gian bao lâu cho 1 lần truy
cập.
.I.4.2. Time spent on page:
Trong một hệ thống website thì có rất nhiều trang, chúng ta sẽ tính thời gian
người truy cập ở lại đối với mỗi trang.
.I.5. Page:
.I.5.1. Entry pages:
Thống kê tất cả các trang mà người dùng thường bắt đầu website cần thống kê
với trang này. Thường thì trang này rất quan trọng, nó có thể là trang chủ, hoặc là

một trang có nội dung hay nên được nhiều người vào và được rating cao trên các
cỗ máy tìm kiếm.
.I.5.2. Exit pages:
Thống kê tất cả các trang mà người dùng thường bắt đầu website cần thống kê
với trang này. Thường thì khi nắm được con số của những trang này, các
webmaster sẽ tìm hiểu vì sao họ lại kết thúc ở đây, có thể vì không có liên kết đến
với trang khác, hoặc là kém hấp dẫn, v.v...
Sinh viên: Quán Đức Bình, Nguyễn Văn Hồng Quang 8
Xây dựng hệ thống phân tích và thống kê thông tin các lượt truy cập đến website
.II Khai thác thông tin của client khi họ truy cập vào 1 website
.I.6. Java script và khả năng khai thác thông tin
Có rất nhiều thông tin của người sử dụng khi họ truy cập đến 1 trang web mà ta
chỉ có thể khai thác bằng cách sử dụng javascript đặt vào website cần thống kê. Sau
đây, chúng ta sẽ tìm hiểu 1 số thông số về trình duyệt mà javascript có thể lấy thông
tin.
• Độ rộng màn hình
Để xác định được độ rộng màn hình, chúng ta chỉ có thể nhận được thống số
đó từ phía client, và thông tin đó được lưu trữ trong biến screen.width của
javascript. Bằng cách gửi thông tin này lên phía server thống kê, ta sẽ có được
độ rộng màn hình của người đang truy cập vào website cần thống kê
• Hệ màu
Tương tự như xác định độ rộng màn hình, hệ màu của người đang truy cập vào
website cần thống kê được lưu lại tại client, và có thể được lấy ra bằng cách sử
dụng biến screen.pixelDepth (Đối với Netscape) hoặc screen.colorDepth (Đối
với các trình duyệt khác)
• Có sử dụng cookie?
Bằng cách sử dụng cookie, ta có thể xác định được trình duyệt mà người đang
sử dụng website cần thống kê có chấp nhận cookie hay không. Khi biết được
thông tin này, các webmaster sẽ có kế hoạch thiết kế trang web cho phù hợp.
• Các plugin

.I.7. HTTP Header và khả năng khai thác thông tin
.I.7.1. HTTP Header là gì?
Đối với mỗi request đến 1 website, HTTP Headers gửi rất nhiều các thông tin
liên quan đến người truy cập để server có thể nhận biết để có cách hành xử tương
ứng, và cũng rất quan trọng trong mỗi HTTP Response (mang các thông tin cần
thiết từ phía server gửi về phía client). Nó định nghĩa một số loại dữ liệu khác
nhau, bao gồm các thông tin của một lần yêu cầu (request) và các thông tin đáp
trả (response). Các thông tin trong header sẽ nằm trên các dòng khác nhau của
header. Các thông tin về HTTP Header nằm ở dạng chuỗi (string) dưới dạng text
ASCII, nhưng đôi khi cũng mang những thông tin rất khó hiểu (đã được mã hóa).
Như vậy, HTTP Header mang những thông tin nào mà chúng ta cần quan tâm?
.1 User-Agent
User-Agent mang các thông tin về trình duyệt, hệ điều hành của người
đang truy cập vào website. Chúng ta sẽ xem xét User-Agent qua các ví dụ
sau:
o Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.7)
Gecko/2009021910 Firefox/3.0.7
Sinh viên: Quán Đức Bình, Nguyễn Văn Hồng Quang 9
Xây dựng hệ thống phân tích và thống kê thông tin các lượt truy cập đến website
o Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR
2.0.50727)
Ví dụ thứ nhất, ta có thể thấy được người truy cập đến bằng trình duyệt
Firefox và hệ điều hành Windows.
Ở ví dụ thứ 2, ta thấy rằng người truy cập đến bằng trình duyệt Internet
Explorer 6.0 (MSIE 6) và bằng hệ điều hành Windows.
.2 Referer
Khi một website được mở ra, webmaster sẽ quan tâm đến việc trang web
này đến từ đâu, được click vào từ một liên kết nằm trên trang web nào, có
nghĩa là Referer chứa địa chỉ của trang web trước đó mà từ đó, người ta click
vào link để đến trang web hiện tại.

.3 Cookie
Tất cả các thông tin được lưu trữ trong cookie sẽ được gửi đến server nằm
trong mục Cookie (chỉ những cookie có domain hợp lệ với domain hiện tại thì
mới được gửi lên)
Ngoài ra, mỗi request đến server thì đều có thể nhận biết được là đến từ IP-
Address nào, qua đó ta có thể thống kê lại được các thông số về tần suất truy
cập hoặc là các thống số về các quốc gia.
.III Tổng quan về Webservices
.I.8. Giới thiệu công nghệ
Theo định nghĩa của W3C (World Wide Web Consortium), dịch vụ Web là
một hệ thống phần mềm được thiết kế để hỗ trợ khả năng tương tác giữa các ứng
dụng trên các máy tính khác nhau thông qua mạng Internet, giao diện chung và sự
gắn kết của nó được mô tả bằng XML. Dịch vụ Web là tài nguyên phần mềm có
thể xác định bằng địa chỉ URL, thực hiện các chức năng và đưa ra các thông tin
người dùng yêu cầu. Một dịch vụ Web được tạo nên bằng cách lấy các chức năng
và đóng gói chúng sao cho các ứng dụng khác dễ dàng nhìn thấy và có thể truy
cập đến những dịch vụ mà nó thực hiện, đồng thời có thể yêu cầu thông tin từ dịch
Sinh viên: Quán Đức Bình, Nguyễn Văn Hồng Quang 10
Xây dựng hệ thống phân tích và thống kê thông tin các lượt truy cập đến website
vụ Web khác. Nó bao gồm các mô đun độc lập cho hoạt động của khách hàng và
doanh nghiệp và bản thân nó được thực thi trên server.
Trước hết, có thể nói rằng ứng dụng cơ bản của Dịch vụ Web là tích hợp các
hệ thống và là một trong những hoạt động chính khi phát triển hệ thống. Trong hệ
thống này, các ứng dụng cần được tích hợp với cơ sở dữ liệu (CSDL) và các ứng
dụng khác, người sử dụng sẽ giao tiếp với CSDL để tiến hành phân tích và lấy dữ
liệu. Trong thời gian gần đây, việc phát triển mạnh mẽ của thương mại điện đòi
hỏi các hệ thống phải có khả năng tích hợp với CSDL của các đối tác kinh doanh
(nghĩa là tương tác với hệ thống bên ngoài – bên cạnh tương tác với các thành
phần bên trong của hệ thống trong doanh nghiệp).
.I.9. Đặc điểm của Dịch vụ Web

.I.9.1. Đặc điểm:
Dịch vụ Web cho phép client và server tương tác được với nhau ngay cả trong
những môi trường khác nhau. Ví dụ, đặt Web server cho ứng dụng trên một máy
chủ chạy hệ điều hành Linux trong khi người dùng sử dụng máy tính chạy hệ điều
hành Windows, ứng dụng vẫn có thể chạy và xử lý bình thường mà không cần
thêm yêu cầu đặc biệt để tương thích giữa hai hệ điều hành này.
Phần lớn kĩ thuật của Dịch vụ Web được xây dựng dựa trên mã nguồn mở và
được phát triển từ các chuẩn đã được công nhận, ví dụ như XML.
Một dịch vụ Web bao gồm có nhiều mô-đun và có thể công bố lên mạng
Internet.
Là sự kết hợp của việc phát triển theo hướng từng thành phần với những lĩnh
vực cụ thể và cơ sở hạ tầng Web, đưa ra những lợi ích cho cả doanh nghiệp,
khách hàng, những nhà cung cấp khác và cả những cá nhân thông qua mạng
Internet.
Một ứng dụng khi được triển khai sẽ hoạt động theo mô hình client-server. Nó
có thể được triển khai bởi một phần mềm ứng dụng phía server ví dụ như PHP,
Oracle Application server hay Microsoft.Net…
Ngày nay dịch vụ Web đang rất phát triển, những lĩnh vực trong cuộc sống có
thể áp dụng và tích hợp dịch vụ Web là khá rộng lớn như dịch vụ chọn lọc và
phân loại tin tức (hệ thống thư viện có kết nối đến web portal để tìm kiếm các
thông tin cần thiết); ứng dụng cho các dịch vụ du lịch (cung cấp giá vé, thông tin
về địa điểm…), các đại lý bán hàng qua mạng, thông tin thương mại như giá cả, tỷ
giá hối đoái, đấu giá qua mạng…hay dịch vụ giao dịch trực tuyến (cho cả B2B và
B2C) như đặt vé máy bay, thông tin thuê xe…
Các ứng dụng có tích hợp dịch vụ Web đã không còn là xa lạ, đặc biệt trong
điều kiện thương mại điện tử đang bùng nổ và phát triển không ngừng cùng với sự
lớn mạnh của Internet. Bất kì một lĩnh vực nào trong cuộc sống cũng có thể tích
Sinh viên: Quán Đức Bình, Nguyễn Văn Hồng Quang 11
Xây dựng hệ thống phân tích và thống kê thông tin các lượt truy cập đến website
hợp với dịch vụ Web, đây là cách thức kinh doanh và làm việc có hiệu quả bởi

thời đại ngày nay là thời đại của truyền thông và trao đổi thông tin qua mạng. Do
vậy, việc phát triển và tích hợp các ứng dụng với dịch vụ Web đang được quan
tâm phát triển là điều hoàn toàn dễ hiểu.
.I.9.2. Ưu và nhược điểm:
 Ưu:
− Dịch vụ Web cung cấp khả năng hoạt động rộng lớn với các ứng dụng phần
mềm khác nhau chạy trên những nền tảng khác nhau.
− Sử dụng các giao thức và chuẩn mở. Giao thức và định dạng dữ liệu dựa
trên văn bản (text), giúp các lập trình viên dễ dàng hiểu được.
− Nâng cao khả năng tái sử dụng.
− Thúc đẩy đầu tư các hệ thống phần mềm đã tồn tại bằng cách cho phép các
tiến trình/chức năng nghiệp vụ đóng gói trong giao diện dịch vụ Web.
− Tạo mối quan hệ tương tác lẫn nhau và mềm dẻo giữa các thành phần trong
hệ thống, dễ dàng cho việc phát triển các ứng dụng phân tán.
− Thúc đẩy hệ thống tích hợp, giảm sự phức tạp của hệ thống, hạ giá thành
hoạt động, phát triển hệ thống nhanh và tương tác hiệu quả với hệ thống của
các doanh nghiệp khác.
 Nhược:
− Những thiệt hại lớn sẽ xảy ra vào khoảng thời gian chết của Dịch vụ Web,
giao diện không thay đổi, có thể lỗi nếu một máy khách không được nâng
cấp, thiếu các giao thức cho việc vận hành.
− Có quá nhiều chuẩn cho dịch vụ Web khiến người dùng khó nắm bắt.
− Phải quan tâm nhiều hơn đến vấn đề an toàn và bảo mật.
.I.10. Kiến trúc của Dịch vụ Web
Dịch vụ Web gồm có 3 chuẩn chính: SOAP (Simple Object Access Protocol),
WSDL (Web Service Description Language) và UDDI (Universal Description,
Discovery, and Integration). Hình 1 mô tả chồng giao thức của dịch vụ Web,
trong đó UDDI được sử dụng để đăng ký và khám phá dịch vụ Web đã được miêu
tả cụ thể trong WSDL. Giao tác UDDI sử dụng SOAP để nói chuyện với UDDI
server, sau đó các ứng dụng SOAP yêu cầu một dịch vụ Web. Các thông điệp

SOAP được gửi đi chính xác bởi HTTP và TCP/IP.
Sinh viên: Quán Đức Bình, Nguyễn Văn Hồng Quang 12
Xây dựng hệ thống phân tích và thống kê thông tin các lượt truy cập đến website
Hình 2: Các giao thức của Web Service
Chồng giao tChức dịch vụ Web là tập hợp các giao thức mạng máy tính được
sử dụng để định nghĩa, xác định vị trí, thi hành và tạo nên dịch vụ Web tương tác
với những ứng dụng hay dịch vụ khác. Chồng giao thức này có 4 thành phần
chính:
Dịch vụ vận chuyển (Service Transport): có nhiệm vụ truyền thông điệp giữa
các ứng dụng mạng, bao gồm những giao thức như HTTP, SMTP, FTP, JSM và
gần đây nhất là giao thức thay đổi khổi mở rộng (Blocks Extensible Exchange
Protocol- BEEP).
Thông điệp XML: có nhiệm vụ giải mã các thông điệp theo định dạng XML để
có thể hiểu được ở mức ứng dụng tương tác với người dùng. Hiện tại, những giao
thức thực hiện nhiệm vụ này là XML-RPC, SOAP và REST.
Mô tả dịch vụ: được sử dụng để miêu tả các giao diện chung cho một dịch vụ
Web cụ thể. WSDL thường được sử dụng cho mục đích này, nó là một ngôn ngữ
mô tả giao tiếp và thực thi dựa trên XML. Dịch vụ Web sẽ sử dụng ngôn ngữ này
để truyền tham số và các loại dữ liệu cho các thao tác và chức năng mà dịch vụ
Web cung cấp.
Khám phá dịch vụ: tập trung dịch vụ vào trong một nơi được đăng ký, từ đó
giúp một dịch vụ Web có thể dễ dàng khám phá ra những dịch vụ nào đã có trên
mạng, tốt hơn trong việc tìm kiếm những dịch vụ khác để tương tác. Một dịch vụ
Web cũng phải tiến hành đăng ký để các dịch vụ khác có thể truy cập và giao tiếp.
Hiện tại, UDDI API thường được sử dụng để thực hiện công việc này.
.I.11. Các thành phần của Dịch vụ Web
.I.11.1. WSDL - Web Service Description Language
WSDL định nghĩa cách mô tả dịch vụ Web theo cú pháp tổng quát của XML,
bao gồm các thông tin:
Sinh viên: Quán Đức Bình, Nguyễn Văn Hồng Quang 13

WEB SERVICES
UUDI (Discovery) WSDL (Description)
SOAP (remote service call)
HTTP Transport Application Protocol
TCP/IP (Transport Protocol)
Xây dựng hệ thống phân tích và thống kê thông tin các lượt truy cập đến website
− Tên dịch vụ
− Giao thức và kiểu mã hóa sẽ được sử dụng khi gọi các hàm của dịch vụ
Web
− Loại thông tin: thao tác, tham số, những kiểu dữ liệu (có thể là giao diện
của dịch vụ Web cộng với tên cho giao diện này).
Một WSDL hợp lệ gồm hai phần: phần giao diện (mô tả giao diện và phương
thức kết nối) và phần thi hành mô tả thông tin truy xuất CSDL. Cả hai phần này sẽ
được lưu trong 2 tập tin XML tương ứng là tập tin giao diện dịch vụ và tập tin thi
hành dịch vụ. Giao diện của một dịch vụ Web được miêu tả trong phần này đưa ra
cách thức làm thế nào để giao tiếp qua dịch vụ Web. Tên, giao thức liên kết và
định dạng thông điệp yêu cầu để tương tác với dịch vụ Web được đưa vào thư
mục của WSDL.
WSDL thường được sử dụng kết hợp với XML schema và SOAP để cung cấp
dịch vụ Web qua Internet. Một client khi kết nối tới dịch vụ Web có thể đọc
WSDL để xác định những chức năng sẵn có trên server. Sau đó, client có thể sử
dụng SOAP để lấy ra chức năng chính xác có trong WSDL.
.I.11.2. Universal Description, Discovery, and Integration (UDDI)
Để có thể sử dụng các dịch vụ, trước tiên client phải tìm dịch vụ, ghi nhận
thông tin về cách sử dụng và biết được đối tượng nào cung cấp dịch vụ. UDDI
định nghĩa một số thành phần cho biết các thông tin này, cho phép các client truy
tìm và nhận những thông tin được yêu cầu khi sử dụng dịch vụ Web.
.1 Cấu trúc UDDI:
− Trang trắng - White pages: chứa thông tin liên hệ và các định dạng chính
yếu của dịch vụ Web, chẳng hạn tên giao dịch, địa chỉ, thông tin nhận

dạng… Những thông tin này cho phép các đối tượng khác xác định được
dịch vụ.
− Trang vàng - Yellow pages: chứa thông tin mô tả dịch vụ Web theo những
loại khác nhau. Những thông tin này cho phép các đối tượng thấy được dịch
vụ Web theo từng loại với nó.
− Trang xanh - Green pages: chứa thông tin kỹ thuật mô tả các hành vi và các
chức năng của dịch vụ Web.
− Loại dịch vụ - tModel: chứa các thông tin về loại dịch vụ được sử dụng.
Những thông tin về dịch vụ Web được sử dụng và công bố lên mạng sử
dụng giao thức này. Nó sẽ kích hoạt các ứng dụng để tìm kiếm thông tin của
dịch vụ Web khác nhằm xác định xem dịch vụ nào sẽ cần đến nó.
Sinh viên: Quán Đức Bình, Nguyễn Văn Hồng Quang 14
Xây dựng hệ thống phân tích và thống kê thông tin các lượt truy cập đến website
.I.11.3. SOAP - Simple Object Access Protocol
Chúng ta đã hiểu cơ bản dịch vụ Web như thế nào nhưng vẫn còn một vấn đề
khá quan trọng. Đó là làm thế nào để truy xuất dịch vụ khi đã tìm thấy? Câu trả
lời là các dịch vụ Web có thể truy xuất bằng một giao thức là Simple Object
Access Protocol – SOAP. Nói cách khác chúng ta có thể truy xuất đến UDDI
registry bằng các lệnh gọi hoàn toàn theo định dạng của SOAP.
SOAP là một giao thức giao tiếp có cấu trúc như XML. Nó được xem là cấu
trúc xương sống của các ứng dụng phân tán được xây dựng từ nhiều ngôn ngữ và
các hệ điều hành khác nhau. SOAP là giao thức thay đổi các thông điệp dựa trên
XML qua mạng máy tính, thông thường sử dụng giao thức HTTP.
Một client sẽ gửi thông điệp yêu cầu tới server và ngay lập tức server sẽ gửi
những thông điệp trả lời tới client. Cả SMTP và HTTP đều là những giao thức ở
lớp ứng dụng của SOAP nhưng HTTP được sử dụng và chấp nhận rộng rãi hơn
bởi ngày nay nó có thể làm việc rất tốt với cơ sở hạ tầng Internet.
Cấu trúc một thông điệp theo dạng SOAP
Thông điệp theo định dạng SOAP là một văn bản XML bình thường bao gồm các
phần tử sau:

− Phần tử gốc - envelop: phần tử bao trùm nội dung thông điệp, khai báo văn
bản XML như là một thông điệp SOAP.
− Phần tử đầu trang – header: chứa các thông tin tiêu đề cho trang, phần tử
này không bắt buộc khai báo trong văn bản. Header còn có thể mang những
dữ liệu chứng thực, những chứ ký số, thông tin mã hóa hay cài đặt cho các
giao dịch khác.
− Phần tử khai báo nội dung chính trong thông điệp - body, chứa các thông tin
yêu cầu và thông tin được phản hồi.
− Phần tử đưa ra các thông tin về lỗi -fault, cung cấp thông tin lỗi xảy ra trong
qúa trình xử lý thông điệp.
Một SOAP đơn giản trong body sẽ lưu các thông tin về tên thông điệp, tham
chiếu tới một thể hiện của dịch vụ, một hoặc nhiều tham số. Có 3 kiểu thông báo
sẽ được đưa ra khi truyền thông tin: request message(tham số gọi thực thi một
thông điệp), respond message (các tham số trả về, được sử dụng khi yêu cầu được
đáp ứng) và cuối cùng là fault message (thông báo tình trạng lỗi).
Kiểu truyền thông: Có 2 kiểu truyền thông
− Remote procedure call (RPC): cho phép gọi hàm hoặc thủ tục qua mạng.
Kiểu này được khai thác bởi nhiều dịch vụ Web.
− Document: được biết đến như kiểu hướng thông điệp, nó cung cấp giao tiếp
ở mức trừu tượng thấp, khó hiểu và yêu cầu lập trình viên mất công sức
hơn.
Sinh viên: Quán Đức Bình, Nguyễn Văn Hồng Quang 15

×