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ọ
Trang 1KHOA CÔNG NGHỆ THÔNG TIN
Tel (84-511) 736 949, Fax (84-511) 842 771Website: itf.ud.edu.vn, E-mail: cntt@edu.ud.vn
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
CBHD : TS GVC Nguyễn Thanh Bình
ĐÀ NẴNG, 06/2009
Trang 2Để 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
Trang 3Tô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
Trang 5
Trang 7
Trang 8
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
I.1 Mục tiêu nghiên cứu 3
I.2 Kết quả dự kiế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
I.1 Referer: 6
I.2 System: 7
I.3 Traffic: 7
I.4 Time: 8
I.5 Page: 8
II Khai thác thông tin của client khi họ truy cập vào 1 website 9
II.1 Java script và khả năng khai thác thông tin 9
II.2 HTTP Header và khả năng khai thác thông tin 9
III Tổng quan về Webservices 11
III.1 Giới thiệu công nghệ 11
III.2 Đặc điểm của Dịch vụ Web 11
III.3 Kiến trúc của Dịch vụ Web 13
III.4 Các thành phần của Dịch vụ Web 14
IV Lựa chọn CSDL – Tại sao chọn SQL Server 2005 16
IV.1 Indexing 17
IV.2 SQL Profiler 18
IV.3 Data Engine Tuning Advisor 18
IV.4 Partition Table 20
V Báo cáo trực quan bằng hình ảnh 21
V.1 Đồ thị dạng bánh (Pie Chart) 21
V.2 Đồ thị dạng cột (Bar Chart) 21
V.3 Đồ thị gồm các đường thẳng nối nhau (Line Chart) 22
V.4 Đồ thị vùng (Area Chart) 22
V.5 Đồ thị xu hướng (Trend Line) 23
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
II.1 Hệ thống khai thác thông tin 24
II.2 Dịch vụ web, cung cấp báo cáo thông qua các yêu cầu SOAP 24
II.3 Phần mềm web 25
II.4 Ứng dụng C# báo cáo kết quả 25
III Phương pháp giải quyết 25
Trang 9IV.3 Đặc tả chi tiết 32
IV.4 Sơ đồ tuần tự 46
V Thiết kế hệ thống thông tin 53
V.1 Sơ đồ lớp 53
V.2 Thiết kế giao diện 59
PHÁT TRIỂN ỨNG DỤNG 64
I Công cụ và môi trường phát triển 64
I.1 WSO2 Web Services Framework for PHP 64
I.2 Giới thiệu thư viện ChartDirector for PHP 66
II Một số kết quả đạt được 68
II.1 Chức năng đăng ký 69
II.2 Chức năng thiết lập thông tin website 70
II.3 Chức năng đăng nhập 70
II.4 Trang báo cáo dạng bánh (pie) 71
II.5 Trang báo cáo dạng cột (bar) 72
II.6 Trang báo cáo dạng đường thẳng (line) 73
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 74
I Kết quả đạt được 74
II Những hạn chế 74
III Hướng mở rộng và phát triển của đề tài 74
TÓM TẮT LUẬN VĂN TỐT NGHIỆP 77
I Tên đề tài: 77
II Tóm tắt nội dung luận văn 77
II.1 Bối cảnh chọn đề tài 77
II.2 Mục đích 77
II.3 Nhiệm vụ phải thực hiện 77
II.4 Kết quả dự kiến 77
II.5 Các vấn đề đã giải quyết được 78
Trang 10MỤC LỤC CÁC BẢNG
Bảng 1: Các chủ thể của hệ thống 27
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 32
Bảng 6: Bảng mô tả lớp DBSource 54
Bảng 7: Bảng mô tả lớp Spider 57
Bảng 8: Mô hình lớp WSClient 57
Bảng 9: Bảng mô tả lớp WSService 58
Bảng 10: Bảng mô tả lớp WSMessage 58
Bảng 11: Bảng mô tả giao diện đăng ký 59
Bảng 12: Bảng mô tả giao diện chức năng thiết lập thông tin cho website 60
Bảng 13: Bảng mô tả giao diện chức năng lấy code javascript 61
Bảng 14: Bảng mô tả giao diện đăng nhập 61
Bảng 16: Bảng mô tả giao diện hệ thống báo cáo dạng bánh (Pie) 62
Bảng 17: Bảng mô tả giao diện báo cáo dạng cột hay đường thẳng 63
Trang 11MỤ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 19
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 29
Hình 18: Các Use Case của Member 30
Hình 19: Các Use Case của tác nhân hệ thống 31
Hình 20: Sơ đồ tuần tự các chức năng của Collector 46
Hình 21: Sơ đồ tuần tự chức năng khai thác thông tin về trình duyệt 47
Hình 22: Sơ đồ tuần tự chức năng khai thác thông tin trình duyệt 48
Hình 23: Sơ đồ tuần tự chức năng khai thác thông tin các Referer 49
Hình 24: Sơ đồ tuần tự chức năng khai thác thông tin các trang ngõ vào 50
Hình 25: Sơ đồ tuần tự chức năng khai thác thông tin ngõ ra 51
Hình 26: Sơ đồ tuần tự chức năng khai thác thông tin lần load trang 51
Hình 27: Sơ đồ tuần tự chức năng khai thác thông tin thời gian duyệt web 52
Hình 28: Sơ đồ tuần tự chức năng khai thác thông tin về lượt truy cập 53
Hình 29: Mô hình lớp DBSource 54
Hình 30: Mô hình lớp Spider 55
Hình 31: Mô hình lớp WSClient 57
Hình 32: Mô hình lớp WSService 58
Hình 33: Mô hình lớp WSMessage 58
Hình 34: Wireframe giao diện đăng ký 59
Hình 35: Wireframe thiết lập thông tin website 60
Hình 36: Wireframe lấy mã script 60
Hình 37: Wireframe đăng nhập hệ thống 61
Hình 38: Wireframe thay đổi mật khẩu 61
Hình 39: Bảng mô tả giao diện chức năng thay đổi mật khẩu 62
Hình 40: Wireframe report dạng pie 62
Hình 41: Wireframe report dạng cột và đường thẳng 63
Hình 42: Các biểu đồ của ChartDirector 66
Hình 43: Giao diện chức năng đăng ký đã làm 69
Hình 44: Giao diện chức năng thiết lập thông tin website đã làm 70
Hình 45: Giao diện chức năng đăng nhập đã làm 70
Trang 12Hình 46: Phần header của trang báo cáo dạng bánh 71
Hình 47: Phần chi tiết của các trang báo cáo 71
Hình 48: Trang báo cáo dạng cột 72
Hình 49: Trang báo cáo dạng đường thẳng 73
Trang 13CHƯƠ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ăngvọ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ácwebmaster) 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ọithô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 aimuố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áchhà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ềuhà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àotrong 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ầnphả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ệclà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 1cá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ụ khaithá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ếtquả 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áocá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ácphầ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ôngtin như các đại gia như Google, Alexa hay HiStats mà chỉ muốn có một hệ thống
Trang 14tươ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 đó.
Ý 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 truycậ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ủahọ
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, nhanhchóng
Trang 15Nhiệm vụ phải thực hiện
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
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ủathành viên
Trang 16 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ý đếncá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ôngtin 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ácyê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ếtquả báo cáo
Trang 17Tó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àitoá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
Trang 18CHƯƠNG 2
CƠ SỞ LÝ THUYẾT
Các thông tin về người sử dụng website được hệ thống thống kê lại và chia làmcác 4 nhóm chính sau:
3. 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 đếntrang web cần thống kê, được chia làm 4 nhóm chính sau
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
Referer.
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
Trang 194. System:
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
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, …
Người dùng đến với website cần thống kê, sử dụng hệ điều hành nào
5. Traffic:
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ạolại cho ta một session mới
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
Trang 205.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 đã 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
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
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ềunhất vào giờ nào trong ngày
Để tính độ thường xuyên của người sử dụng khi họ sử dụng trang web cầnthố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.
Thời gian người dùng ở lại với website trong thời gian bao lâu cho 1 lần truycập
Trong một hệ thống website thì có rất nhiều trang, chúng ta sẽ tính thời gianngười truy cập ở lại đối với mỗi trang
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
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
Trang 21webmaster 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 đếnvới trang khác, hoặc là kém hấp dẫn, v.v
8. 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à tachỉ 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ôngtin
Để 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ê
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 đượcthông tin này, các webmaster sẽ có kế hoạch thiết kế trang web cho phù hợp
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:
Trang 22o Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.7) Gecko/
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ừ Address nào, qua đó ta có thể thống kê lại được các thông số về tần suất truycập hoặc là các thống số về các quốc gia
IP-III Tổng quan về Webservices
10. 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 ứngdụ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
Trang 23ngườ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 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 ứngdụ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 đòihỏ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ànhphần bên trong của hệ thống trong doanh nghiệp)
11. Đặc điểm của Dịch vụ Web
Dịch vụ Web cho phép client và server tương tác được với nhau ngay cả trongnhững môi trường khác nhau Ví dụ, đặt Web server cho ứng dụng trên một máychủ 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ềuhành Windows, ứng dụng vẫn có thể chạy và xử lý bình thường mà không cầnthê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ạngInternet
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ĩnhvực cụ thể và cơ sở hạ tầng Web, đưa ra những lợi ích cho cả doanh nghiệp, kháchhà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ânloạ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 tincầ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…
Trang 24Cá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íchhợ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ởithời đại ngày nay là thời đại của truyền thông và trao đổi thông tin qua mạng Dovậ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 quantâm phát triển là điều hoàn toàn dễ hiểu.
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áctiế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ànhhoạt động, phát triển hệ thống nhanh và tương tác hiệu quả với hệ thống củacác doanh nghiệp khá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ângcấ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
12. 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 đượcgửi đi chính xác bởi HTTP và TCP/IP
Trang 25Hì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ácvới những ứng dụng hay dịch vụ khác Chồng giao thức này có 4 thành phầnchính:
Dịch vụ vận chuyển (Service Transport): có nhiệm vụ truyền thông điệp giữacá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 ExchangeProtocol- 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 giaothứ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ênmạ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
13. Các thành phần của Dịch vụ Web
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:
WEB SERVICESUUDI (Discovery) WSDL (Description)
SOAP (remote service call)
HTTP Transport Application Protocol
TCP/IP (Transport Protocol)
Trang 26 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ủadị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ươngthứ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 thihà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 racá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ụccủa WSDL
WSDL thường được sử dụng kết hợp với XML schema và SOAP để cung cấpdịch vụ Web qua Internet Một client khi kết nối tới dịch vụ Web có thể đọcWSDL để 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
Để có thể sử dụng các dịch vụ, trước tiên client phải tìm dịch vụ, ghi nhậnthô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 truytì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ínhyếu của dịch vụ Web, chẳng hạn tên giao dịch, địa chỉ, thông tin nhậndạng… Những thông tin này cho phép các đối tượng khác xác định đượcdịch vụ
Trang vàng - Yellow pages: chứa thông tin mô tả dịch vụ Web theo nhữngloạ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ácchứ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ủadịch vụ Web khác nhằm xác định xem dịch vụ nào sẽ cần đến nó
Trang 2713.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 AccessProtocol – SOAP Nói cách khác chúng ta có thể truy xuất đến UDDI registrybằ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ấutrú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ênXML 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ửinhữ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ơnbở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ácphầ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ănbả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àykhô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 giaodị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 tinyê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 trongqú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, thamchiế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ộtthô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
Trang 28Hai kiểu truyền thông này cung cấp các định dạng thông điệp, tham số, lời gọiđến các API khác nhau nên việc sử dụng chúng tùy thuộc vào thời gian và sự phùhợp với dịch vụ Web cần xây dựng.
Cấu trúc dữ liệu: Cung cấp những định dạng và khái niệm cơ bản giống nhưtrong các ngôn ngữ lập trình khác như kiểu dữ liệu (int, string, date…) hay nhữngkiều phức tạp hơn như struct, array, vector… Định nghĩa cấu trúc dữ liệu SOAPđược đặt trong namespace SOAP-ENC
Mã hóa: Giả sử service rquester và service provider được phát triển trong Java,khi đó mã hóa SOAP là làm thế nào chuyển đổi từ cấu trúc dữ liệu Java sangSOAP XML và ngược lại, bởi vì định dạng cho Web Service chính là XML Bất
kỳ một môi trường thực thi SOAP nào cũng phải có một bảng chứa thông tin ánh
xạ nhằm chuyển đổi từ ngôn ngữ Java sang XML và từ XML sang Java - bảng đóđược gọi là SOAPMappingRegistry Nếu một kiểu dữ liệu được sử dụng dưới mộtdạng mã hóa thì sẽ có một ánh xạ tồn tại trong bộ đăng ký của môi trường thực thiSOAP đó
IV Lựa chọn CSDL – Tại sao chọn SQL Server 2005
Sở dĩ chọn SQL Server 2005 vì những lý do sau:
Hệ thống index của SQL Server 2005 rất mạnh, nó giúp mình tạo chỉ mục cho các bảng dữ liệu, giúp truy cập đến dữ liệu nhanh hơn
SQL Server 2005 có hệ thống phân tích tốc độ xử lý lệnh rất mạnh (SQL Profiler), qua đó ta có thể đánh giá được độ ưu việt của các câu lệnh SQL
SQL Turning Advisor giúp đưa ra những lựa chọn tối ưu khi tạo chỉ mục, giúp cho xử lý của hệ thống được tối ưu đáng kể
SQL Server 2005 hỗ trợ mạnh về Data Replication, giúp phân tán dữ liệu tốt
Hệ thống backup và mornitoring của SQL Server 2005 cũng rất mạnh
SQL Server 2005 cung cấp môi trường phát triển thân thiện (SQL Server Management)
Hỗ trợ mạnh về function và store procedure
Những chức năng khác như view, trigger, cũng rất hiệu quả Chúng ta tiếp tụctìm hiểu về các thế mạnh của SQL Server qua các tính năng sau:
14. Indexing
Chức năng index giúp SQL Server sắp xếp lại dữ liệu một cách có trật tự theo tiêuchí index, giúp cho việc tìm kiếm trở nên nhanh chóng và dễ dàng hơn với thuật toántìm kiếm nhị phân Chúng ta sẽ xem qua các ví dụ về tốc độ xử lý của CSDL trướcchi lập index và sau chi lập index
Trước khi lập Index:
Trang 29Hình 3: Biểu đồ xử lý CSDL trước khi thiết lập index
Sau chi lập Index
Hình 4: Biểu đồ xử lý CSDL sau khi lập index
15. SQL Profiler
Công cụ SQL Profiler của SQL Server 2005 là một công cụ tuyệt vời cho các nhàquản trị database, giúp họ đánh giá tốc độ xử lý của các câu lệnh một cách trực quan,giúp ta xem xét được độ tối ưu của các truy vấn vào CSDL thông qua các thôngsố:mức độ chiếm dụng CPU, thời gian hoàn tất thực thi, tổng số bảng ghi bị tác động,tổng số bảng ghi được ghi xuống, v.v…Các thông tin này có thể được lưu lại dướidạng file trace (*.trace) hoặc được chỉ định lưu vào một bảng trong CSDL nào đó
Trang 30Hình 5: Công cụ SQL Profiler của SQL Server
16. Data Engine Tuning Advisor
Tương tự như SQL Profiler, công cụ Data Engine Tuning Advisor cũng giúp đánhgiá tốc độ xử lý của các truy vấn vào CSDL, qua đó có thể giúp ta tìm ra vấn đề củacác câu truy vấn và có hướng khắc phục hay tối ưu
Hình 6: Công cụ Data Engine Tunning Advisor
Ngoài ra, khi kết hợp với file *.trace được tạo ra bởi SQL Profiler, công cụ DataEngine Tunning Advisor có thể giúp ta đưa ra giải pháp về cách thêm hoặc bớt cácindex cho table, giúp tăng tốc tối đa tốc độ xử lý của hệ thống
Trang 31Hình 7: Công cụ Data Engine Tunning Advisor và giải pháp xây dựng các index
17. Partition Table
Đây là chức năng mới trong SQL Server 2005, giúp ta phân vùng dữ liệu các bảngtheo hàng ngang hoặc theo hàng dọc, tạo nên một tiện ích lớn khi ta sao lưu hay khôiphục dữ liệu, cũng như là thực hiện các truy vấn hoặc tạo index cho các bảng, cácvùng dữ liệu
1 Mô tả 1 table dã được tạo partition
Trang 32Hình 8: Table đã được tạo partition
2 Cách tạo Partition table
Hình 9: Cách tạo partition table
Trang 33V Báo cáo trực quan bằng hình ảnh
Trang 3420. Đồ thị gồm các đường thẳng nối nhau (Line Chart)
Trang 3522. Đồ thị xu hướng (Trend Line)
Hình 14: Đồ thị xu hướng
Đường thẳng xu hướng (trend line) thường được dùng để đánh giá mức độ tănghay giảm (còn gọi là xu hướng) của đồ thị
Trang 36CHƯƠ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,…)
Để thống kê được các thông tin như đã trình bày ở phần trên thì cần xây dựng một
hệ thống, qua đó sẽ cung cấp cho các webmaster khả năng để lưu lại thông tin các lầntruy cập vào website của mình, đồng thời cung cấp cho họ một hệ thống báo cáo trựcquan, rõ ràng, chính xác Ngoài ra, cần xây dựng một dịch vụ web để cung cấp cho họlấy được kết quả báo cáo của họ, và họ có thể sử dụng dịch vụ đó để lập trình chophần mềm riêng của họ nếu muốn
23. Hệ thống khai thác thông tin
Hệ thống này chuyên làm nhiệm vụ thu thập thông tin của các truy cập vàowebsite, có thể thu thập được các thông tin sau:
Referer: Direct Request, No Referer, Search Engine, Search Keywords,Country
System: Operating System, Browser, Color, Resolution
Traffic: Visits, Page Views, Unique Visitors, New Visitors, Visit per week,Visit per hour, Visit Frequently
Pages: Entry pages, Exit pages
Times: Time spent on site, Time spent on page
24. Dịch vụ web, cung cấp báo cáo thông qua các yêu cầu SOAP
Để các webmaster có thể sử dụng được các kết quả báo cáo của họ, và sử dụngvào chương trình riêng của họ, cho nên chúng ta cần xây dựng 1 hệ thống cung cấp 1dịch vụ web để trả về các kết quả báo cáo thông qua các yêu cầu SOAP Hệ thống này
sẽ cung cấp tất cả các báo cáo cần thiết, và cần phải được chứng thực quyền người sửdụng trong mỗi lần yêu cầu
Trang 3725. Phần mềm web
Để có thể quy trình hóa một cách rõ ràng cách thức sử dụng hệ thống, chúng ta cầnxây dựng 1 website đơn giản thực hiện các công việc sau:
Các webmaster có thể đăng ký một tài khoản để sử dụng dịch vụ
Các webmaster có thể cấu hình các thông tin về website của họ
Các webmaster có thể xem báo cáo của họ trực tiếp trên trang web bằngcách vào xem báo cáo trực tiếp tại Control Panel của họ
26. Ứng dụng C# báo cáo kết quả
Để có thể ví dụ rõ ràng hơn về kết quả mà dịch vụ web mang lại, chúng ta sẽ xâydựng một ứng dụng để bàn nhỏ bằng C#, qua đó sẽ truy xuất các báo cáo thông quaweb service và hiển thị lên trên phần mềm
III Phương pháp giải quyết
Với những trình bày trong phần cơ sở lý thuyết ở phần trên, và để có thể thu thậpđược tất cả các thông tin về các lần truy cập đến website, chúng em quyết định chọnJavascript và ngôn ngữ lập trình PHP cùng với CSDL SQL Server 2005 để xây dựng
hệ thống khai thác thông tin về các lần truy cập
Để có thể tìm hiểu và nắm rõ hơn về các thông số, cũng như cách thức báo cáo vàcác nhu cầu thống kê của hệ thống, chúng em quyết định chọn 1 số website thống kêlớn để tham khảo như Google Analystic, Shinystats.com, Histats.com và alexa.com
Từ việc nghiên cứu các website này, chúng em thấy rằng, muốn thu thập được thôngtin của các lần truy cập vào website thì cần đặt lên trên website đó một đoạnjavascript (hoặc vbscript) để thu thập lại thông tin của các lần truy cập, sau đó gửi cácthông tin đó về phía server thống kê để tiếp tục phân tích các thông tin vừa thu thậpđược
Riêng đối với hệ thống Web, chúng em sẽ sử dụng 1 framework khá nổi tiếng củaPHP hiện nay là CakePHP để xây dựng hệ thống báo cáo, các báo cáo sẽ được trìnhbày và phân theo từng chủ để Các báo cáo chi tiết đều được minh họa bằng đồ thị vàkèm theo đầy đủ các thông tin
Ngoài ra, chúng em còn quyết định viết thêm 1 phần mềm nhỏ để làm ví dụ vềviệc ứng dụng kết quả báo cáo thông qua webservice để chứng tỏ khả năng hoạt độnghiệu quả của hệ thống
Đối với dịch vụ web (Web Services), chúng em sẽ chọn Framework WOS2 để xâydựng, vì đây là Framework về Web Services của PHP khá ổn định, được cộng đồngnguồn mở đánh giá cao và cung cấp gần như đầy đủ các thao tác cần thiết của mộtdịch vụ web
Trang 38Bởi vì hệ thống thiên về vấn đề báo cáo, nên về cách cấu trúc dữ liệu, chúng emquyết định không chuẩn hóa bảng CSDL chính mà để CSDL dưới dạng phẳng (flat),sau đó sử dụng Partition table và Index để tối ưu tốc độ truy xuất dữ liệu Sự chọn lựanày có những ưu và nhược điểm sau:
Tốc độ truy xuất dữ liệu nhanh nhờ vào Index
Các thông số và dữ liệu mang độ chính xác cao
Dễ truy xuất dữ liệu
Dữ liệu dư thừa, cồng kềnh, tốn nhiều không gian lưu trữ của hệ thống
IV Phân tích hệ thống thông tin
2 Members Là các thành viên của hệ thống, thường là các webmaster
3 Guest Bao gồm tất cả những thành viên chưa đăng nhập
4 Collector Chủ thể này có nhiệm vụ đi thu thập và khai thác thông tin
Trang 39của các lần truy cập
5 System Chủ thể này có nhiệm vụ cung cấp báo cáo, kiểm tra xác
thực thông tin đăng nhập, xử lý các thông tin được thu thập
từ Collector, v.v
Bảng 1: Các chủ thể của hệ thống
28. Sơ đồ Use Case
Page v iew s
Unique Visitors
New Visitors Collect Time spent of
Hình 16: Các Use Case của Collector
1 Collect Browsers Collector sẽ thu thập thông tin về trình duyệt của các
truy cập, xem họ dùng trình duyệt gì
2 Collect Referers Collector phân tích và tìm hiểu xem tác nhân nào đã
dẫn người dùng đến với website Nếu họ đến từ các cỗmáy tìm kiếm thì phải biết đó là cỗ máy tìm kiếm nào,
và họ dùng từ khóa gì
3 Collect OS Phân tích về hệ điều hành mà các truy cập dùng
Trang 404 Collect Color Depth Phân tích xem các truy cập thường dùng hệ màu nào,
7 Page Views Tổng hợp các thông tin giúp phân tích xem có bao
nhiêu lần trang web được load lên (mỗi lần click vào
trang hoặc refresh lại trang được tính là 1 lần Page
view)
8 Unique Visitor Tổng hợp các thông tin giúp phân tích xem có bao
nhiêu người cụ thể đến với website (1 người cụ thể cóthể đến website nhiều lần, và mỗi lần như vậy được tính
là 1 Visits)
9 New Visitor Tổng hợp các thông tin giúp phân tích xem trong tuần
này, tháng này hoặc trong từng ngày, có bao nhiêukhách mới đến với website (Khách mới là khách trướcđây chưa từng đến website lần nào)
10 Collect Time that
user spent on website
Thu thập thông tin về thời gian mà người dùng đã bỏ ra
để sử dụng website
11 Entry page Tổng hợp các trang mà các truy cập thường vào đầu
tiên nhất của website, qua đó đánh giá được tầm quantrọng của các trang này
12 Exit page Tổng hợp các trang mà tại đó, các truy cập thường
dừng việc tiếp tục sử dụng website
13 Country Tổng hợp thông tin, xem các truy cập đến từ quốc gia
nào
Bảng 2: Các Use Case của Collector