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

Xây dựng hệ thống khảo duyệt web phân tán và thu thập dữ liệu phục vụ các hệ hỗ trợ quyết định

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 (313.89 KB, 11 trang )

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ

TRỊNH VIỆT DŨNG

XÂY DỰNG HỆ THỐNG KHẢO DUYỆT WEB PHÂN TÁN VÀ
THU THẬP DỮ LIỆU PHỤC VỤ CÁC HỆ HỖ TRỢ
QUYẾT ĐỊNH

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

HÀ NỘI - 2015


ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ

TRỊNH VIỆT DŨNG

XÂY DỰNG HỆ THỐNG KHẢO DUYỆT WEB PHÂN TÁN VÀ
THU THẬP DỮ LIỆU PHỤC VỤ CÁC HỆ HỖ TRỢ
QUYẾT ĐỊNH

Ngành: Công nghệ thông tin
Chuyên ngành: Truyền dữ liệu và mạng máy tính
Mã số: Chƣơng trình đào tạo thí điểm

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

NGƢỜI HƢỚNG DẪN KHOA HỌC: TS. NGUYỄN ĐẠI THỌ



LỜI CAM ĐOAN
Tôi xin cam đoan kết quả đạt đƣợc trong luận văn là sản phẩm của riêng cá
nhân tôi, không sao chép lại của ngƣời khác. Trong toàn bộ nội dung của luận
văn những điều đƣợc trình bày hoặc là của cá nhân hoặc là đƣợc tổng hợp từ
nhiều nguồn tài liệu. Tất cả các tài liệu tham khảo đều có xuất xứ rõ ràng và
đƣợc trích dẫn hợp pháp.
Tôi xin hoàn toàn chịu trách nhiệm và chịu mọi hình thức kỷ luật theo quy
định cho lời cam đoan của mình.
Hà Nội, ngày 19 tháng 10 năm 2015

Trịnh Việt Dũng


MỤC LỤC
DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT
DANH MỤC CÁC HÌNH VẼ
DANH MỤC CÁC BẢNG
LỜI CẢM ƠN
MỞ ĐẦU .................................................................................................................... 1
CHƢƠNG 1. TỔNG QUAN VỀ HỆ HỖ TRỢ QUYẾT ĐỊNH................................ 3
1.1. Thế nào là ra quyết định ................................................................................ 3
1.2. Quá trình ra quyết định .................................................................................. 3
1.3.1. Phân loại quyết định ................................................................................ 3
1.3.2. Các giai đoạn của quá trình ra quyết định ............................................... 3
1.3. Hệ hỗ trợ ra quyết định .................................................................................. 4
1.3.1. Khái niệm hệ hỗ trợ ra quyết định ........................................................... 4
1.3.2. Các thành phần của hệ hỗ trợ ra quyết định ............................................ 5
1.3.3. Mô hình ra quyết định ............................................................................. 6
1.3.4. Phân loại hệ hỗ trợ ra quyết định ............................................................ 7

1.4. Một trƣờng hợp sử dụng hệ hỗ trợ quyết định trong việc dự đoán giá sản
phẩm đƣợc bán đấu giá trên eBay. .......................................................................... 8
1.4.1. Thu thập dữ liệu từ website eBay ............................................................ 9
1.4.2. Tiền xử lý dữ liệu .................................................................................... 9
1.4.3. Dự đoán giá ........................................................................................... 11
1.5. Kết luận........................................................................................................ 12
CHƢƠNG 2. MỘT SỐ HỆ THỐNG THU THẬP DỮ LIỆU ................................. 13
2.1. Kiến trúc chung của hệ thống Web Crawler ............................................... 13
2.1.1. Kho chứa URL ...................................................................................... 16
2.1.2. Lịch sử viếng thăm và kho chứa các trang web .................................... 17
2.1.3. Tải các trang web................................................................................... 18
2.1.4. Duyệt và phân tích nội dung.................................................................. 19
2.2. Hệ thống thu thập dữ liệu Mercator ............................................................ 22
2.3. Hệ thống thu thập dữ liệu từ Twitter - TwitterEcho.................................... 24
2.4. Tìm hiểu về công cụ HTTrack..................................................................... 25


2.5. Kết luận........................................................................................................ 29
CHƢƠNG 3. THIẾT KẾ HỆ THỐNG KHẢO DUYỆT WEB VÀ THU THẬP
DỮ LIỆU .................................................................................................................. 30
3.1. Kiến trúc hệ thống Web Crawler ................................................................. 31
3.1.1. Sơ đồ tổng quan ..................................................................................... 32
3.1.2. Các thành phần của Web Crawler ......................................................... 33
3.1.3. Thiết kế .................................................................................................. 33
3.2. Kiến trúc hệ thống Twitter Crawler............................................................. 36
3.2.1. Sơ đồ tổng quan ..................................................................................... 36
3.2.2. Sử dụng RestAPI v1.1 để thu thập dữ liệu ............................................ 37
3.2.3. Request Limits ....................................................................................... 41
3.2.4. Thiết kế .................................................................................................. 41
3.3. MongoDB cho việc lƣu trữ cơ sở dữ liệu .................................................... 45

3.3.1. Ƣu điểm và nhƣợc điểm ........................................................................ 45
3.3.2. Cơ chế phân quyền vào bảo mật............................................................ 46
3.3.3. Chỉ mục trong MongoDB ...................................................................... 47
3.3.4. Phân mảnh trong MongoDB.................................................................. 47
3.4. Kết luận........................................................................................................ 50
CHƢƠNG 4. ĐÁNH GIÁ KẾT QUẢ ..................................................................... 51
4.1. Triển khai ..................................................................................................... 51
4.2. Mô hình triển khai ....................................................................................... 53
4.3. Phần mềm và thông số máy chủ .................................................................. 54
4.3.1. Phần mềm .............................................................................................. 54
4.3.2. Cấu hình máy chủ .................................................................................. 54
4.4. Đánh giá hệ thống ........................................................................................ 55
4.4.1. Đánh giá hệ thống Web Crawler ........................................................... 55
4.4.2. Đánh giá hệ thống Twitter Crawler ....................................................... 55
4.4.3. Một số giao diện sau khi chạy hệ thống ................................................ 56
4.5. Kết luận........................................................................................................ 57
CHƢƠNG 5. KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN ......................................... 58
5.1. Kết luận........................................................................................................ 58


5.2. Hƣớng phát triển .......................................................................................... 58
TÀI LIỆU THAM KHẢO ........................................................................................ 59
PHỤ LỤC 1 .............................................................................................................. 60
PHỤ LỤC 2 .............................................................................................................. 61
PHỤ LỤC 3 .............................................................................................................. 62


DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT
Ký hiệu


Diễn giải

DE

Data Extraction - một hệ thống bóc tách dữ liệu từ
website theo luật ngƣời sử dụng tạo.

WC

Web Crawler - một hệ thống thu thập dữ liệu.

RSS Crawler

Một hệ thống thu thập dữ liệu thông qua RSS - Rich Site
Summary.

MS Crawler

Metasearch - một hệ thống thu thập dữ liệu thông qua các
máy tìm kiếm nhƣ Google, Bing, Yahoo, Daum.

FB Crawler

Một hệ thống thu thập dữ liệu từ mạng xã hội Facebook.

TW Crawler

Một hệ thống thu thập dữ liệu từ mạng xã hội Twitter.

WB Crawler


Một hệ thống thu thập dữ liệu từ mạng xã hội Weibo.

IS Crawler

Một hệ thống thu thập dữ liệu từ mạng xã hội Instagram.

Crawling

Quá trình thu thập dữ liệu.

Spider Trap

Bẫy các hệ thống thu thập dữ liệu tự động làm cho hệ
thống thu thập dữ liệu rơi vào vòng lặp vô hạn.

Robot Exclusion Giao thức loại trừ robot.
Protocol
TOA

Twitter Open Authentication dùng để xác thực mỗi yêu
cầu gửi lên server.

Task

Một công việc mà hệ thống cần thực hiện


DANH MỤC CÁC HÌNH VẼ
Hình 1-1 Các giai đoạn của quá trình ra quyết định ........................................... 4

Hình 1-2 Ưu điểm của hệ hỗ trợ quyết định ........................................................ 5
Hình 1-3 Các thành phần của hệ hỗ trợ quyết định............................................. 6
Hình 1-4 Sản phẩm đấu giá trên eBay ................................................................. 9
Hình 1-5 Nội dung HTML của sản phẩm ........................................................... 10
Hình 1-6 Vector đại diện của văn bản mẫu ....................................................... 11
Hình 1-7 Cây quyết định hồi quy ....................................................................... 11
Hình 2-1 Kiến trúc chung của một Web Crawler .............................................. 15
Hình 2-2 Trang HTML và cấu trúc cây của hệ thống tương ứng ...................... 22
Hình 2-3 Các thành phần chính của Mercator .................................................. 23
Hình 2-4 Kiến trúc của TwitterEcho .................................................................. 25
Hình 2-5 Kéo thả một vài địa chỉ web................................................................ 26
Hình 2-6 Cấu hình HTTrack .............................................................................. 26
Hình 2-7 Lọc liên kết .......................................................................................... 27
Hình 2-8 Đặt lịch tự động download ................................................................. 27
Hình 2-9 Giao diện thu thập dữ liệu .................................................................. 28
Hình 2-10 Màn hình kết thúc quá trình thu thập dữ liệu ................................... 28
Hình 3-1 Mô hình hệ thống thu thập dữ liệu công ty Saltlux............................. 31
Hình 3-2 Kiến trúc phân tán hệ thống khảo duyệt web ..................................... 32
Hình 3-3 Các thành phần bên trong của Web Crawler ..................................... 33
Hình 3-4 Tạo mới Web Crawler task ................................................................. 34
Hình 3-5 Cập nhật thông tin cho Web Crawler task ......................................... 34
Hình 3-6 Xoá Web Crawler task ........................................................................ 35
Hình 3-7 Xem dữ liệu download ........................................................................ 35
Hình 3-8 Kiến trúc phân tán của Twitter Crawler............................................. 36


Hình 3-9 Danh sách các địa điểm được hỗ trợ bởi Twitter ............................... 40
Hình 3-10 Các chủ đề được chú ý trên toàn cầu ............................................... 41
Hình 3-11 Tạo mới một Twitter task .................................................................. 41
Hình 3-12 Cập nhật thông tin Twitter task ........................................................ 42

Hình 3-13 Xoá Twitter task ................................................................................ 43
Hình 3-14 Trao đổi thông tin giữa TwitterManager và QueueManager .......... 44
Hình 3-15 Trao đổi thông tin giữa TwitterWorker và QueueManager ............. 44
Hình 3-16 Hệ thống sử dụng 4 shard lưu trữ 1TB dữ liệu................................. 48
Hình 3-17 Các thành phần của shard cluster .................................................... 49
Hình 4-1 Giao diện website terms.naver.com .................................................... 51
Hình 4-2 Màn hình kết quả lấy tweet ................................................................. 56
Hình 4-3 Màn hình kết quả lấy danh sách follower........................................... 57


DANH MỤC CÁC BẢNG
Bảng 3-1 Cấu trúc bảng crawler_agent_info ..................................................... 36
Bảng 3-2 Danh sách tham số của statuses/filter API ......................................... 37
Bảng 3-3 Danh sách các tham số của statuses/user_timeline API ..................... 38
Bảng 3-4 Danh sách các tham số của follower/ids API ..................................... 38
Bảng 3-5 Danh sách các tham số của friends/ids API........................................ 39
Bảng 3-6 Danh sách tham số của users/lookup API........................................... 39
Bảng 3-7 Cấu trúc bảng twitter_task .................................................................. 45
Bảng 3-8 Cấu trúc bảng twitter_open_authentication ....................................... 45
Bảng 4-1 Danh sách 61 người dùng Twitter ....................................................... 53
Bảng 4-2 Mô hình triển khai hệ thống ................................................................ 54
Bảng 4-3 Thông số cấu hình máy chủ ................................................................. 54
Bảng 4-4 Kết quả đánh giá hệ thống Web Crawler ............................................ 55
Bảng 4-5 So sánh kết quả .................................................................................... 55
Bảng 4-6 Kết quả đánh giá hệ thống Twitter Crawler ....................................... 56


TÀI LIỆU THAM KHẢO
Tiếng Việt
[1]. Trần Hữu Phú (2011), Xây dựng hệ thống thu thập thông tin tự động phục

vụ cập nhật nội dung cho trang Web, Đại học Đà N ng.
Tiếng Anh
[2]. Dennis van Heijst, Rob Potharst, Michiel van Wezel (2007), A Support
System for predicting eBay end prices.
[3]. Harshavardhan Achrekar, Avinash Gandhe, Ross Lazarus, Ssu-Hin Yu,
Benyuan Liu, Predicting Flu Trends using Twitter Data.
[4]. Allan Heydon, Marc Najork (1999), Mercator: A Scalable, Extensible Web
Crawler.
[5]. Hongfei Yan. Jianyong Wang, Xiaoming Li, Lin Guo (2001), Architectural
design and evaluation of an efficient Web-crawling system.
[6]. Masko Bosnjak, Eduardo Oliveira, Jose Martins, TwitterEcho - A
Distributed Focused Crawler to Support Open Research with Twitter Data.
[7]. Gorry, G.A, Scott Morton, A framework for Management Information
System, Sloan Management Review, Vol 13, No 1, 1971.
[8]. Efraim Turban, Jay E Aronson, Decision Support System and Intelligent
Systems.
[9]. NetCraft, 2015.
[10]. Twitter Developers, .
[11]. MongoDB Manual, />
59



×