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 ths công nghệ thông tin (chương trình đào tạo thí điểm)

79 31 0
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 ths  công nghệ thông tin (chương trình đào tạo thí điểm)

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ĐẠ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 liệu 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 đạt đƣợc luận văn sản phẩm riêng cá nhân tôi, không chép lại ngƣời khác Trong toàn nội dung luận văn điều đƣợc trình bày cá nhân đƣợc tổng hợp từ nhiều nguồn tài liệu Tất tài liệu tham khảo có xuất xứ rõ ràng đƣợc trích dẫn hợp pháp Tơi xin hồn tồn chịu trách nhiệm chịu hình thức kỷ luật theo quy định cho lời cam đoan 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 CHƢƠNG TỔNG QUAN VỀ HỆ HỖ TRỢ QUYẾT ĐỊNH 1.1 Thế định 1.2 Quá trình định 1.3.1 Phân loại định 1.3.2 Các giai đoạn trình định 1.3 Hệ hỗ trợ định 1.3.1 Khái niệm hệ hỗ trợ định 1.3.2 Các thành phần hệ hỗ trợ định 1.3.3 Mơ hình định 1.3.4 Phân loại hệ hỗ trợ định 1.4 Một trƣờng hợp sử dụng hệ hỗ trợ định việc dự đoán giá sản phẩm đƣợc bán đấu giá eBay 1.4.1 Thu thập liệu từ website eBay 1.4.2 Tiền xử lý liệu 1.4.3 Dự đoán giá 11 1.5 Kết luận 12 CHƢƠNG MỘT SỐ HỆ THỐNG THU THẬP DỮ LIỆU 13 2.1 Kiến trúc chung hệ thống Web Crawler 13 2.1.1 Kho chứa URL 16 2.1.2 Lịch sử viếng thăm kho chứa trang web 17 2.1.3 Tải trang web 18 2.1.4 Duyệt phân tích nội dung 19 2.2 Hệ thống thu thập liệu Mercator 22 2.3 Hệ thống thu thập liệu từ Twitter - TwitterEcho 24 2.4 Tìm hiểu cơng cụ HTTrack 25 2.5 Kết luận CHƢƠNG THIẾT KẾ HỆ THỐNG KHẢO DUYỆT WEB VÀ THU THẬP DỮ LIỆU 3.1 Kiến trúc hệ thống Web Crawler 3.1.1 Sơ đồ tổng quan 3.1.2 Các thành phần Web Crawler 3.1.3 3.2 Thiết kế Kiến trúc hệ thống Twitter Crawler 3.2.1 Sơ đồ tổng quan 3.2.2 Sử dụng RestAPI v1.1 để thu thập liệu 3.2.3 Request Limits 3.2.4 Thiết kế 3.3 MongoDB cho việc lƣu trữ sở liệu 3.3.1 Ƣu điểm nhƣợc điểm 3.3.2 Cơ chế phân quyền vào bảo mật 3.3.3 Chỉ mục MongoDB 3.3.4 Phân mảnh MongoDB 3.4 Kết luận CHƢƠNG ĐÁNH GIÁ KẾT QUẢ 4.1 Triển khai 4.2 Mơ hình triển khai 4.3 Phần mềm thông số máy chủ 4.3.1 Phần mềm 4.3.2 Cấu hình máy chủ 4.4 Đánh giá hệ thống 4.4.1 Đánh giá hệ thống Web Crawler 4.4.2 Đánh giá hệ thống Twitter Crawler 4.4.3 Một số giao diện sau chạy hệ thống 4.5 Kết luận CHƢƠNG KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN 5.1 Kết luận 5.2 Hƣớng phát triển 58 TÀI LIỆU THAM KHẢO 59 PHỤ LỤC 60 PHỤ LỤC 61 PHỤ LỤC 62 DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT Ký hiệu DE WC RSS Crawler MS Crawler FB Crawler TW Crawler WB Crawler IS Crawler Crawling Spider Trap Robot Exclusion Protocol TOA Task Hình 1-1 DAN Các giai đoạn q Hình 1-2 Ưu điểm hệ hỗ Hình 1-3 Các thành phần Hình 1-4 Sản phẩm đấu giá t Hình 1-5 Nội dung HTML sản phẩm Hình 1-6 Vector đại diện Hình 1-7 Cây định hồi Hình 2-1 Kiến trúc chung củ Hình 2-2 Trang HTML cấ Hình 2-3 Các thành phần ch Hình 2-4 Kiến trúc Twitt Hình 2-5 Kéo thả vài địa Hình 2-6 Cấu hình HTTrack Hình 2-7 Hình 2-8 Lọc liên kết Đặt lịch tự động Hình 2-9 Giao diện thu thập Hình 2-10 Màn hình kết thúc q trình thu thập liệu Hình 3-1 Mơ hình hệ thống t Hình 3-2 Kiến trúc phân tán Hình 3-3 Các thành phần bê Hình 3-4 Tạo Web Craw Hình 3-5 Cập nhật thơng tin Hình 3-6 Xố Web Crawler t Hình 3-7 Xem liệu downl Hình 3-8 Kiến trúc phân tán Hình 3-9 Danh sách địa điểm hỗ trợ Twitter 40 Hình 3-10 Các chủ đề ý toàn cầu 41 Hình 3-11 Tạo Twitter task 41 Hình 3-12 Cập nhật thơng tin Twitter task 42 Hình 3-13 Xố Twitter task 43 Hình 3-14 Trao đổi thông tin TwitterManager QueueManager 44 Hình 3-15 Trao đổi thơng tin TwitterWorker QueueManager 44 Hình 3-16 Hệ thống sử dụng shard lưu trữ 1TB liệu 48 Hình 3-17 Các thành phần 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 lấy tweet 56 Hình 4-3 Màn hình kết 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ố statuses/filter API 37 Bảng 3-3 Danh sách tham số statuses/user_timeline API 38 Bảng 3-4 Danh sách tham số follower/ids API 38 Bảng 3-5 Danh sách tham số friends/ids API 39 Bảng 3-6 Danh sách tham số 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 đánh giá hệ thống Web Crawler CHƢƠNG ĐÁNH GIÁ KẾT QUẢ Thách thức công ty cung cấp dịch vụ thu thập liệu nói chung cơng ty Saltlux nói riêng làm để kiểm tra hệ thống lấy đƣợc đủ liệu (dữ liệu đƣợc coi đủ hệ thống lấy đƣợc 80% tổng số liệu cần lấy, ví dụ: website có 1,000,000 trang, hệ thống lấy đƣợc 800,000 đến 1,000,000 trang tiêu chí đủ liệu đƣợc đáp ứng), làm để kiểm tra hệ thống lấy đƣợc liệu (nội dung hệ thống lấy đƣợc với nội dung nguồn cung cấp) Trong luận văn này, kết đánh giá bám sát vào tiêu chí đƣợc trình bày trên: (1) đủ liệu, (2) liệu so sánh kết thu thập đƣợc với hệ thống thu thập liệu khác nhƣ HTTrack, WebSPHINX Hình 4-1 Giao diện website terms.naver.com 4.1 Triển khai Tôi triển khai hệ thống dựa yêu cầu từ hai khách hàng lớn công ty (Viện nghiên cứu Bộ quốc phòng Hàn Quốc) Yêu cầu Viện nghiên cứu Hàn Quốc lấy liệu 31 mục website http://terms.naver.com/category.nhn, với tổng 2,259,347 liệu với mục đích làm giàu sở liệu cho máy dịch tự động - sản phẩm Viện nghiên cứu Yêu cầu thứ đến từ Bộ quốc phòng Hàn Quốc lấy thông tin profile, tweet, danh sách following, danh sách follower mạng xã hội Twitter (mạng xã hội phổ biến Hàn Quốc) ngƣời dùng (danh sách ngƣời dùng cần lấy phía bên Bộ quốc phịng gửi) Trong luận văn này, yêu cầu thứ hai 51 Bộ quốc phịng Hàn Quốc, tơi lấy thông tin 61 ngƣời dùng danh sách đƣợc cung cấp đánh giá dựa thông tin lấy đƣợc dựa danh sách ngƣời dùng Bảng 4-1 liệt kê danh sách 61 ngƣời dùng cần lấy thơng tin, lƣợng liệu có thực cần thu thập đƣợc thống kê thời điểm viết luận văn # 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 Username JosephFerrisIII ComradekimMOVIE DPRK_News dprkfilms DTNNorthKorea juchestrong NKoreaReports NorthKoreaDPRK nkwitness RetroDPRK koryotours airkoryo notoriousgonzo KFAEuskalHerria KFAPaisValencia KFAcapituloVE KFAEstadoEsp treveraritz CoreaSocialista Corea_del_Norte CineCoreadelNor DPRK_CAODEBENOS parti_juche PartidoJucheVK juche_songun juchefrance Fekerfanta jeet0212 ishimarujiro kimi_shimizu NKoreaNewsJP dailynkjapan dprkorean_tan 415_216 daioosaka0 daioosaka 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 Tổng số raccoon987 fabyorian kelog21 uriminzok_nihon irsaitama lala_flower010 chousen24 kevtarobot dprk_info NorthKorea_News yasgreen615 secretofnkorea MusleNerd YourAnonNews Anon_value AnonNewsC planetbeing GeohotJailbreak pod2g p0sixninja uriminzok qlaser notoriousgonzo yeonjae0528 Yunaaaa Bảng 4-1 Danh sách 61 ngƣời dùng Twitt Với yêu cầu nhƣ trên, triển khai hệ thống thu thập liệu từ Web Web Crawler để giải yêu cầu thứ Viên nghiên cứu, triển khai hệ thống thu thập liệu từ mạng xã hội Twitter - Twitter Crawler để giải yêu cầu thứ hai Bộ quốc phịng Trong Twitter Crawler, tơi sử dụng access token để xác sign request trƣớc gửi request tới RestAPI, access token sử dụng cho việc lấy thông tin profile đầy đủ ngƣời dùng, access token sử dụng cho lấy thơng tin cịn lại 4.2 Mơ hình triển khai Tơi sử dụng máy chủ để cài đặt hệ thống thu thập liệu Web Trong đó, máy chủ sử dụng cho việc cài đặt sở liệu PostgreSQL 9.2, Web Crawler Manager, Twitter Crawler Manager, Queue Manager máy chủ máy cài đặt Web Crawler Worker Twitter Crawler Worker máy chủ lại đƣợc sử để cài đặt MongoDB cluster Bảng 4-2 mơ tả mơ hình triển khai hệ thống 53 # Server Crawler Crawler Crawler MongoDB MongoDB MongoDB MongoDB MongoDB 4.3 Phần mềm thông số máy chủ 4.3.1 Phần mềm - Oracle Java 1.6 - PostgreSQL 9.2 - MongoDB 3.0.5 4.3.2 Cấu hình máy chủ Bảng 4-3 mơ tả chi tiết thơng tin cấu hình máy chủ đƣợc sử dụng để triển khai hệ thống # CPU Intel(R) Xeon(R) E3-1280 V2 @ 3.6GHz Intel(R) Xeon(R) E3-1280 V2 @ 3.6GHz Intel(R) Xeon(R) E3-1280 V2 @ 3.6GHz Intel(R) Xeon(R) E3-1220 @ 3.1GHz Intel(R) Xeon(R) E3-1220 @ 3.1GHz Intel(R) Xeon(R) E3-1220 @ 3.1GHz Intel(R) Xeon(R) E3-1220 @ 3.1GHz Intel(R) Xeon(R) E3-1220 @ 3.1GHz Bảng 4-3 Thơng số cấu hình máy chủ 54 4.4 Đánh giá hệ thống Thực đánh giá hệ thống theo hai yêu cầu công ty Đánh giá dựa tiêu chí: đủ liệu, liệu 4.4.1 Đánh giá hệ thống Web Crawler Đủ liệu: Thông tin cần đo Từ điển Thống kê Bảng 4-4 Kết đánh giá hệ thống Web Crawler Hệ thống Web Crawler lấy đƣợc 87% (>80%) đáp ứng tiêu chí đủ liệu Kết so sánh với hai hệ thống khác HTTrack WebSPHINX chênh lệch không đáng kể, nhƣng việc thống kê số lƣợng đƣợc thực Web Crawler dễ dàng nhiều (chỉ cần truy vấn sở liệu) so với việc thống kê số lƣợng HTTrack WebSPHINX (đếm số file download đƣợc) Phụ lục trình bày phƣơng pháp thống kê file HTTrack WebSPHINX Đúng liệu: Phƣơng pháp áp dụng để đánh giá tiêu chí liệu là: tiến hành lấy 50 mẫu, sau so sánh nội dung mẫu với nội dung website Kết thu đƣợc hệ thống thu thập liệu lấy nội dung 4.4.2 Đánh giá hệ thống Twitter Crawler Đủ liệu Thông tin cần đo Profile Tweet Following Follower Bảng 4-5 So sánh kết với HTTrack WebSPHINX Thống kê cho thấy hệ thống Twitter Crawler cho kết vƣợt trội so với hai hệ thống HTTrack WebSPHINX thực thu thập tweet, following, follower So sánh số lƣợng hệ thống Twitter Crawler thu đƣợc với số liệu thực có ta có kết nhƣ sau: 55 Thông tin cần đo Profile Tweet Following Follower Bảng 4-6 Kết đánh giá hệ thống Twitter Crawler Kết thống kê cho thấy số lƣợng tweet lấy đƣợc thấp so với thực tế API giới hạn trả 3,200 tweet gần Số lƣợng following follower lớn so với thực tế hệ thống chƣa cài đặt tính xố following follower ngƣời dùng huỷ bỏ follow Đúng liệu: Cách kiểm tra tiến hành nhƣ hệ thống Web Crawler, kết thu đƣợc hệ thống thu thập liệu lấy liệu, nhiên hệ thống Twitter Crawler cho liệu đầy đủ 4.4.3 Một số giao diện sau chạy hệ thống Hình 4-2 Màn hình kết lấy tweet 56 Hình 4-3 Màn hình kết lấy danh sách follower 4.5 Kết luận Chƣơng tiến hành triển khai đánh giá hệ thống thu thập liệu Web đƣợc xây dựng theo giải pháp chọn Kết đánh giá đƣợc triển khai theo yêu cầu thực tế mà công ty nhận đƣợc yêu cầu từ khách hàng Việc đánh giá hệ thống dựa hai tiêu chí: đủ số lƣợng, nội dung Thông qua việc so sánh với công cụ khác nhƣ HTTrack, WebSPHINX, hệ thống thu thập liệu đƣợc trình bày luận văn cho kết tốt, vƣợt trội thực lấy liệu từ Twitter 57 CHƢƠNG KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN 5.1 Kết luận Luận văn trình bày chi tiết trình xây dựng hai hệ thống thu thập liệu Web Crawler Twitter Crawler Từ đánh giá, phân tích có đƣợc thơng qua trình nghiên cứu khảo sát hệ thống thu thập liệu có, luận văn đề xuất giải pháp xây dựng hệ thống đáp ứng đầy đủ yêu cầu mà hệ thống thu thập, lƣu trữ liệu lớn cần đáp ứng u cầu từ cơng ty tác giả công tác Hệ thống đƣợc xây dựng có ƣu điểm vƣợt trội so với hệ thống có nhƣ khả chạy nhiều mơi trƣờng hệ điều hành, khả chạy đa luồng, khả chia sẻ công việc, khả mở rộng hệ thống nhiều máy, khả quản lý lƣu trữ liệu lớn, khả lấy liệu đầy đủ từ mạng xã hội Twitter Hệ thống thu thập liệu đƣợc trình bày luận văn triển khai thực tế cho khách hàng nhiều khách hàng quan, doanh nghiệp lớn Hàn Quốc nhƣ Bộ quốc phịng, Bộ nội vụ,.v.v tập đồn Samuraiz Nhật Bản Phụ lục liệt kê danh sách khách hàng triển khai hệ thống 5.2 Hƣớng phát triển Trong thời gian tới tác giả cài đặt tính cho hệ thống Web Crawler để hỗ trợ thu thập liệu thông qua giao thức FTP Việc triển khai hệ thống lƣu, khôi phục liệu (replica set) tăng tốc trình lấy liệu từ mạng xã hội Twitter đƣợc tác giả triển khai giai đoạn Đối với Twitter Crawler bị giới hạn 3,200 tweet gần lấy danh sách tweet, tác giả cần tìm giải pháp để vƣợt qua giới hạn 58 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, http://news.netcraft.com/, 2015 [10] Twitter Developers, https://dev.twitter.com [11] MongoDB Manual, https://docs.mongodb.org/manual 59 PHỤ LỤC CHỨNG NHẬN PHÁT TRIỂN HỆ THỐNG VÀ TRIỂN KHAI HỆ THỐNG 60 PHỤ LỤC ĐOẠN MÃ THỰC HIỆN ĐẾM TỪ ĐIỂN HTTrack WebSPHINX ĐÃ DOWNLOAD int theNumberOfEntry = 0; public int coutEntry(File dir) { for (File file : dir.listFiles()) { if (file.isDirectory)) { countEntry(file); } if (file.getName().contains("docId")) { theNumberOfEntry++; } } return theNumberOfEntry; } 61 PHỤ LỤC CÁCH TẠO OPEN AUTHENTICATION CHO TWITTER Twitter Crawler sử dụng API để lấy thông tin từ Twitter website Mỗi request gửi tới Twitter server cần đƣợc xác thực b ng cách sử dụng twitter open authentication (TOA) Phụ lục hƣớng dẫn cách tạo TOA Bƣớc 1: Login vào website https://apps.twitter.com (cần phải có tài khoản twitter) Bƣớc 2: Click "Create New App" để tạo ứng dụng, ứng dụng có TOA Mỗi TOA có cặp giá trị consumerKey, consumerSecret, tokenKey, tokenSecret 62 Bƣớc 3: Nhập vào tên, mô tả địa website bạn Tích vào "Yes, I agree" sau click "Create your Twitter application" 63 Bƣớc 4: Hệ thống twitter tự động tạo consumerKey consumerSecret Click vào "Keys and Access Tokens" để tạo tokenKey tokenSecret 64 Bƣớc 5: Di chuyển chuột xuống dƣới click "Create my access token" Bƣớc 6: Ứng dụng bạn đƣợc tạo thành công 65 ... 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 liệu mạng máy... xung URL vào Frontier (8) Thông tin sở lý thuyết cho việc xây dựng hệ thống khảo duyệt web đƣợc trình bày luận văn 23 2.3 Hệ thống thu thập liệu từ Twitter - TwitterEcho Các dịch vụ truyền thông. .. trữ liệu lớn đƣợc trình bày chƣơng Chƣơng 3: Trình bày chi tiết thiết kế hai hệ thống khảo duyệt web thu thập liệu Hệ thống thứ hệ thống thu thập liệu từ website chung nhƣ diễn đàn, blog, tin

Ngày đăng: 11/11/2020, 22:25

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan