Skenovani zdroju
Transkript
Skenování otevřených zdrojů Leo Galamboš Skenování otevřených zdrojů Úvod Design robota DNS HTTP Leo Galamboš Normalizace Bezedný web Procházení webu Aktualizace dokumentů Katedra Softwarového Inženýrství Matematicko-fyzikální fakulta UK EGOTHOR 2 Závěr 2008-05-19 Literatura Obsah Skenování otevřených zdrojů Leo Galamboš 1 Úvod Úvod Design robota DNS HTTP 2 Design robota DNS HTTP Normalizace Bezedný web Procházení webu Aktualizace dokumentů 3 EGOTHOR 2 4 Závěr Normalizace Bezedný web Procházení webu Aktualizace dokumentů EGOTHOR 2 Závěr Literatura Věcný obsah Skenování otevřených zdrojů Leo Galamboš Úvod Design robota DNS HTTP Normalizace Bezedný web Procházení webu Aktualizace dokumentů technologie robota: DNS, HTTP, zpracování odkazů EGOTHOR 2 navigace robota po webu Závěr architektura Egothor2 robota Literatura Web – Osoby a obsazení Skenování otevřených zdrojů Leo Galamboš Úvod Design robota DNS HTTP webový server (httpd) poskytuje webové dokumenty webový dokument je opatřen metadaty (formát, délka, čas modifikace. . . ) webový klient si stahuje webové dokumenty z webového serveru nad HTTP(S) robot1 stahuje automaticky a systematicky požadované dokumenty 1 bot, crawler, spider Normalizace Bezedný web Procházení webu Aktualizace dokumentů EGOTHOR 2 Závěr Literatura Web – komunikace Skenování otevřených zdrojů Leo Galamboš Kritická místa HTTP Content-Type k URL sděluje server: *.html;text/html Úvod Design robota DNS skutečný cíl neurčuje IP, ale IP + Host v hlavičce HTTP Normalizace Bezedný web Procházení webu GET /robots.txt HTTP/1.0 Host: www.example.com Aktualizace dokumentů EGOTHOR 2 Závěr Literatura HTTP/1.1 200 OK Date: Sat, 18 Feb 2006 00:44:20 GMT Last-Modified: Mon, 02 Feb 2004 21:34:29 GMT Content-Length: 402 Connection: close Content-Type: text/html <html><title>.... Skenování otevřených zdrojů Odlišnosti od klasických knihovních full-textů až za běhu objevujeme co ještě stahovat nutnost tahat neagresivně, ale přesto co možná nejvíce Leo Galamboš Úvod Design robota DNS HTTP Normalizace Bezedný web Procházení webu Robot Googlebot Mercator Mercator Xyro Nutch Become Egothor 1 Dominos Egothor 2 Larbin VN strojů/CPU 4/? 1/2 4/8 4/? 1/? 50/? 1/2 5/? 1/2 1/2 9/14 str/sec 25-32 55 72 12 ? 100 40 154 70-100 80 2? tok (MB/s) 0,2 0,84 1,72 ? 0,5 0,3? 0,6 0,9 1,5-5,0 2,1 0,1 rok 1998 1999 2001 2001 2004 2004 2004 2004 2005,2007 2006 2006 Otázka Co způsobuje tak velké rozdíly ve výkonu výkonu? Aktualizace dokumentů EGOTHOR 2 Závěr Literatura Skenování otevřených zdrojů Zjednodušená struktura robota Leo Galamboš Normalizer linků Indexování a Analýza Úvod Index Design robota DNS HTTP Normalizace Kontrola povolení Bezedný web Socket R/W Procházení webu Aktualizace dokumentů EGOTHOR 2 Závěr Globální fronta Socket wait Monitor manager Čekání na DNS Separátní fronty Literatura Async DNS Skenování otevřených zdrojů DNS Leo Galamboš Normalizer linků Indexování a Analýza Úvod Index Design robota DNS HTTP Normalizace Kontrola povolení Bezedný web Socket R/W Procházení webu Aktualizace dokumentů EGOTHOR 2 Závěr Globální fronta Socket wait Monitor manager Čekání na DNS Separátní fronty Literatura Async DNS Skenování otevřených zdrojů Problematika DNS Leo Galamboš Robot se snaží netahat dlouho z jednoho serveru ⇒ více dotazů do DNS a snížení “lokality” přístupu do cache. Úvod Design robota DNS HTTP Normalizace Reálný provoz nedodržují se expirační časy obnova zón (typicky) v idle režimu gethostbyname(3) neefektivní cache jako spojový seznam (JAVA) neumožňuje souběžné dotazy Bezedný web Řešení Procházení webu Aktualizace dokumentů více resolverů s velkými cache (Mercator až 3 s 1GB) používá se prefetch jeden dotaz může implikovat až desítku UDP dotazů ⇒ komunikace mezi link parser a async DNS modulem EGOTHOR 2 Závěr Literatura Praxe Skenování otevřených zdrojů Leo Galamboš Úvod Design robota DNS HTTP Normalizace Bezedný web ADNS knihovna (asynchronous DNS client library) Mercator (Compaq): úspora po přepsání DNS knihovny, čas v DNS z 87% na 25% Egothor2: DNS modul není brzdou (dané technikou plánování front) Procházení webu Aktualizace dokumentů EGOTHOR 2 Závěr Literatura Skenování otevřených zdrojů Stahování via HTTP Leo Galamboš Normalizer linků Indexování a Analýza Úvod Index Design robota DNS HTTP Normalizace Kontrola povolení Bezedný web Socket R/W Procházení webu Aktualizace dokumentů EGOTHOR 2 Závěr Globální fronta Socket wait Monitor manager Čekání na DNS Separátní fronty Literatura Async DNS Implementace Skenování otevřených zdrojů Leo Galamboš Úvod Design robota DNS HTTP Normalizace Bezedný web latence při stahování ⇒ stahuje se řádově n × (100 − 1000) stránek najednou vědecký robot obvykle řádově desítky až stovky distribuované farmy tisíce na jednom uzlu je nevýhodné používat systémová vlákna, používá se select(2) Procházení webu Aktualizace dokumentů EGOTHOR 2 Závěr Literatura Blokované sockety Skenování otevřených zdrojů Leo Galamboš používá se statický počet vláken vlákno má vlastní stack, stav a přístup do sdílené paměti Úvod Design robota DNS HTTP Normalizace Bezedný web Procházení webu Výhody snadná implementace ladění a krokování (JAVA) Nevýhody synchronizace vláken stojí výkon při pádu vlákna obtížná detekce a oprava (C/C++) vlákna dotahují relativně nezávisle ⇒ náhodné přístupy do repository, z toho plynoucí velký interleave a snížení výkonu Aktualizace dokumentů EGOTHOR 2 Závěr Literatura Neblokované sockety Skenování otevřených zdrojů Leo Galamboš Úvod Design robota funkce select(2) s následným zpracováním vůči nosnému datovému bloku DNS HTTP Normalizace Bezedný web Procházení webu Výhody Aktualizace dokumentů EGOTHOR 2 velký výkon Závěr možnost “sériového výstupu” Literatura Nevýhody pamět’ová náročnost, správa heap-u problém se správou timeoutů Skenování otevřených zdrojů Normalizace Leo Galamboš Normalizer linků Indexování a Analýza Úvod Index Design robota DNS HTTP Normalizace Kontrola povolení Bezedný web Socket R/W Procházení webu Aktualizace dokumentů EGOTHOR 2 Závěr Globální fronta Socket wait Monitor manager Čekání na DNS Separátní fronty Literatura Async DNS Extrakce linků, normalizace Skenování otevřených zdrojů Leo Galamboš Snaha o omezení duplicitních URL: čisté porovnání nestačí --/~plha/--/%7Eplha/--/%7eplha/-pořadí parametrů za ? duplicitní obsah se zjišt’uje až dodatečně Normalizace: Úvod Design robota DNS HTTP Normalizace Bezedný web Procházení webu Aktualizace dokumentů EGOTHOR 2 Závěr alespoň částečně snižuje počet duplicitních URL klasicky: 1 2 3 4 5 6 7 8 protokol i hostname malými písmeny přidání čísla portu normalizace znaků (escape sekvence) vyčištění fragmentů /./ a /../ -36%: index.htm(l) -30%: egothor.org v. www.egothor.org -5%: /dir v. /dir/ +26%: auto-redirect Literatura Skenování otevřených zdrojů Eliminace duplicit Leo Galamboš Normalizer linků Indexování a Analýza Úvod Index Design robota DNS HTTP Normalizace Kontrola povolení Bezedný web Socket R/W Procházení webu Aktualizace dokumentů EGOTHOR 2 Závěr Globální fronta Socket wait Monitor manager Čekání na DNS Separátní fronty Literatura Async DNS Eliminace známých URL Problém Při 1000URL/sec produkuje robot až 40000 “nových” URL. Zapisuje se i struktura odkazů, a proto musíme znát příslušná ID dokumentů. Jak to technicky zvládnout? Skenování otevřených zdrojů Leo Galamboš Úvod Design robota DNS HTTP Normalizace Bezedný web Procházení webu 1 2 URL se převede na pevnou délku (MD5 16B): key klíč přidáváme do hash tabulky – problémy: tabulka se většinou nevejde do RAM (Larbin) dobrý převod na pevnou délku nám rozbije lokálnost Řešení Standardní způsob lokálnost si zase zavedeme: key := (keyhostname ; key ) lze použít B-tree Dominos přišel s novinkou: Judy-array. Aktualizace dokumentů EGOTHOR 2 Závěr Literatura Bezedný web Skenování otevřených zdrojů Leo Galamboš Nevhodná přemapování na straně serveru nebo httpd s chybami2 mohou vytvořit bezedný web a z toho plynoucí pasti3 : můžeme omezit délku URL, ale dokonalé to není DNS HTTP Normalizace Bezedný web Procházení webu Aktualizace dokumentů EGOTHOR 2 lze detekovat opakující se fragmenty v URL Literatura Příklady .../archiv/archiv/archiv/archiv/05.html .../calendar.php?date=1456-02-28 3 Design robota je možné vytvářet statistiky a anomálie ručně ošetřovat pomáhá i nestahování stránek s nízkým rankem 2 Úvod Některé starší verze Apache Spider traps Závěr Eliminace duplicit Skenování otevřených zdrojů Leo Galamboš Úvod Design robota DNS HTTP Robustnější řešení přes detekci duplicit Sledujeme unikátnost dvojic (hashdokument ; rel), kde rel je relativní odkaz. Dokonalé řešení neexistuje Omezené řešení nabízí shingling (šindlování), které je schopné detekovat duplicitní obsah. Normalizace Bezedný web Procházení webu Aktualizace dokumentů EGOTHOR 2 Závěr Literatura Skenování otevřených zdrojů Navigace robota Leo Galamboš Normalizer linků Indexování a Analýza Úvod Index Design robota DNS HTTP Normalizace Kontrola povolení Bezedný web Socket R/W Procházení webu Aktualizace dokumentů EGOTHOR 2 Závěr Globální fronta Socket wait Monitor manager Čekání na DNS Separátní fronty Literatura Async DNS Skenování otevřených zdrojů Procházení webu Leo Galamboš Úvod Design robota DNS HTTP Normalizace Bezedný web Procházení webu Aktualizace dokumentů EGOTHOR 2 Závěr Literatura metoda konvergence rychlost BFS 3 2 DFS 1 [Castillo et al.] OPIC 1* PD 5 1 NVW ** Skenování otevřených zdrojů Anti SPAM = K-rank Leo Galamboš 0,82 Úvod 0,80 Design robota DNS 0,78 HTTP Kendallovo Normalizace Bezedný web 0,76 Procházení webu Aktualizace dokumentů 0,74 EGOTHOR 2 Závěr 0,72 CZ EU 0,70 UK 0,68 0 20 40 60 80 BFS fáze [%] doména URL odkazů CZ 200M 3,0G UK 90M 1,1G EU (Uni) 180M 2,1G 100 Literatura Skenování otevřených zdrojů Anti SPAM = K-rank Leo Galamboš Úvod 1 1 0,95 0,95 0,9 0,9 0,85 0,85 Design robota HTTP Normalizace Bezedný web Procházení webu 0,8 CZKR CZPR 0,75 EUKR 0,7 EUPR Kendallovo Kendallovo DNS 0,8 Aktualizace dokumentů CZKR 0,75 EUKR 0,7 UKPR 0,6 Závěr EUPR UKKR 0,65 EGOTHOR 2 CZPR UKKR 0,65 Literatura UKPR 0,6 0 10 20 30 Fáze BFS [%] 40 50 0,0 0,2 0,4 0,6 Agregovaná d le itost K-rank. . . potřebuje až o třetinu menší matici než Page rank 0,8 1,0 Skenování otevřených zdrojů Aktualizace dokumentů Leo Galamboš Normalizer linků Indexování a Analýza Úvod Index Design robota DNS HTTP Normalizace Kontrola povolení Bezedný web Socket R/W Procházení webu Aktualizace dokumentů EGOTHOR 2 Závěr Globální fronta Socket wait Monitor manager Čekání na DNS Separátní fronty Literatura Async DNS Aktualizace dokumentů Skenování otevřených zdrojů Leo Galamboš Úvod Design robota DNS 1 2 3 HTTP nabízí: If-Modified-Since ignoruje se Expire ignoruje se robot se sám učí frekvenci aktualizací nabízená řešení (definitivní řešení zatím není): zohlednit frekvenci změn každého jednotlivého dokumentu (egothor2) zohlednit významnost dokumentu nebo serveru zohlednit významnost změny (obtížný NLP problém) HTTP Normalizace Bezedný web Procházení webu Aktualizace dokumentů EGOTHOR 2 Závěr Literatura Skenování otevřených zdrojů Leo Galamboš Úvod DB Design robota DNS DNS T0 T1 HTTP T3 Mutex T5 TX TX T2 T4 HTTP Post-processing Monitor TX Normalizace Bezedný web Procházení webu Aktualizace dokumentů EGOTHOR 2 Závěr Literatura Zatížení front Skenování otevřených zdrojů Leo Galamboš Úvod Design robota DNS HTTP Normalizace Bezedný web Procházení webu Aktualizace dokumentů EGOTHOR 2 Závěr Literatura Inicializace spoje Skenování otevřených zdrojů Leo Galamboš Úvod Design robota DNS HTTP Normalizace Bezedný web Procházení webu Aktualizace dokumentů EGOTHOR 2 Závěr Literatura Zápis a čtení do socketu Skenování otevřených zdrojů Leo Galamboš Úvod Design robota DNS HTTP Normalizace Bezedný web Procházení webu Aktualizace dokumentů EGOTHOR 2 Závěr Literatura Zpracovaní HTTP a HTML Skenování otevřených zdrojů Leo Galamboš Úvod Design robota DNS HTTP Normalizace Bezedný web Procházení webu Aktualizace dokumentů EGOTHOR 2 Závěr Literatura Zpracování dokumentu Skenování otevřených zdrojů Leo Galamboš Úvod Design robota DNS HTTP Normalizace Bezedný web Procházení webu Aktualizace dokumentů EGOTHOR 2 Závěr Literatura Skenování otevřených zdrojů Závěr Leo Galamboš Úvod Design robota plánovač robota může ovlivnit kvalitu výsledků hrubá síla versus komplikované plánování test na (ne)existenci URL DNS (Mercator) ⇒ Indexer-Async DNS hook duplikáty - základní heuristiky -36%: index.htm(l) -30%: egothor.org v. www.egothor.org -5%: /dir v. /dir/ +26%: auto-redirect SPAM. . . DNS HTTP Normalizace Bezedný web Procházení webu Aktualizace dokumentů EGOTHOR 2 Závěr Literatura Skenování otevřených zdrojů Castillo, C. Effective web crawling. SIGIR Forum, 39(1), 55-56, ACM Press, NY, USA, 2005. Leo Galamboš Úvod Design robota DNS HTTP Cho, J., Garcia-Molina, H. Estimating frequency of change. ACM TOIT, 3(3), 256-290, 2003. Craswell, N., et al Performance and cost tradeoffs in web search. In Proc. of the 15th ADC, 161-169, Dunedin, NZ, 2004. Cutting, D., Pedersen, J. Optimization for dynamic inverted index maintenance. In Proc. of the 13th SIGIR, 405-411, ACM Press, 1990. Normalizace Bezedný web Procházení webu Aktualizace dokumentů EGOTHOR 2 Závěr Literatura Skenování otevřených zdrojů Leo Galamboš Fagni, T., et al Boosting the performance of Web search engines. ACM TOIS, 24(1), 51-78, 2006. Úvod Design robota DNS HTTP Normalizace Galamboš, L. Dynamic Inverted Index Maintenance. IJCS, 1(2), 157-162, 2006. Gomes, D., Silva, M.J. The Viuva Negra crawler. FI-FCUL, TR-2006-06-21, Lisboa, 2006. Hafri, Y., Djeraba, C. Dominos: A New Web Crawler’s Design. IWAW, Bath, UK, 2004. Bezedný web Procházení webu Aktualizace dokumentů EGOTHOR 2 Závěr Literatura Skenování otevřených zdrojů Leo Galamboš Heydon, A., Najork, M. Mercator: A scalable, extensible web crawler. WWW 2(4), 219-229, 1999. Úvod Design robota DNS HTTP Hirai, J., et al WebBase: A repository of web pages. In Proc. of the 9th WWW Conf., Amsterodam, 2000. Lawrence, S., Giles, C.L. Accessibility of information on the web. Intelligence, 11(1): 32-39, 2000. Lempel, R., Moran, S. Predictive cahing and prefetching of query results in search engines. In Proc. of the WWW12, 19-28, ACM, 2003. Normalizace Bezedný web Procházení webu Aktualizace dokumentů EGOTHOR 2 Závěr Literatura Skenování otevřených zdrojů Lim, L., et al Dynamic Maintenance of Web Indexes Using Landmarks. In Proc. of the 12th WWW Conf., 2003. Lyman, P., Varian, H.R. How much information. http://www.sims.berkeley.edu/ how-much-info-2003 Mignet, L., et al Xyro: The Xyleme Robot Architecture. In DIWeb, 91-99, 2001. Najork, M, Heydon, A. High-performance web crawling. COMPAQ SRC173, 2001. Leo Galamboš Úvod Design robota DNS HTTP Normalizace Bezedný web Procházení webu Aktualizace dokumentů EGOTHOR 2 Závěr Literatura Skenování otevřených zdrojů Saraiva, P.C., et al Rank-Preserving Two-Level Caching for Scalable Search Engines. In Proc. of the SIGIR2001, 51-58, ACM, 2001. Leo Galamboš Úvod Design robota DNS HTTP Normalizace Silvestri, F. High Performance Issues in Web Search Engines. Ph.D. Thesis, Univ. Pisa, 2004. Bezedný web Procházení webu Aktualizace dokumentů EGOTHOR 2 Závěr Shkapenyuk, V., Suel, T. Design and implementation of a high-performance distributed web crawler. In Proc. of the 18th DE Int Conf., 357-368, San Jose, 2002. Zobel, J., Moffat, A. Inverted files for text search engines. ACM CSUR, 38(2), 6pg, ACM Press, 2006 Literatura
Podobné dokumenty
Slovník moderních pojmů
feedback [fídbek] (angl., česky zpětná vazba, odezva) – 1. (z pohledu uživatele internetu)
různá oznámení a hlášení; (z hlediska tvůrce, majitele webu) kontaktní formuláře, ankety,
knihy návštěv, d...
2,65MB PDF - Bartojan je borec.
prednášky a diskuse, jakož i podrobné bibliografické
prehledy pro daná témata. Diskuse ve tríde se od
seznamu bude odchylovat, bude využívat a rozvíjet
nekteré texty a vynechávat další.
Pro radu od...
Studie č. 15 - Slovácké muzeum
republiky, které se připomíná v podstatě v každé studii o agrárním hnutí, podmiňovala
celá řada objektivních i subjektivních faktorů. Z těch, které bychom mohli pokládat za
subjektivní, patřil nesp...
text ke stažení zde - Rada pro mezinárodní vztahy
but also Ottoman legacy, and her statement that the Ottoman Empire cannot be defined as colonialist, in the
manner of France or Great Britain, and that therefore the fight of the Balkan nations fo...
Sborník příspěvků
Všechna práva vyhrazena. Rozmnožování a šíření této publikace jakýmkoliv způsobem bez výslovného písemného svolení vydavatele je trestné.
Příspěvky neprošly redakční ani jazykovou úpravou.
ISBN 978...
Metodická pomůcka Využití modelů hydrologické
zvětšuje. Tyto plochy jsou označovány jako zdrojové plochy (variable source areas) [DUNNE,
1978]. Propustnost zdrojových ploch je velmi nízká, obvykle nasycené půdy bývají
v bezprostřední blízkosti...
Nastavení osvitového souboru
Include Halftone Screen:
off
Include Transfer Function:
off
PostScript Color Management:
off !!!!!!!! (důležité nastavení)
Pojmenování a ukládání souboru:
Prosíme dodržujte tuto zásadu: ukládejte d...
komunitní tlumočení v oblasti cizinecké agendy
québeckou vládou http://www.immigration-quebec.gouv.qc.ca/fr/partenaires/servicesofferts.php. Lze vyhledávat dle nejrůznějších kritérií (služba, lokalita, jazyk). Například v
Montréalu se nachází o...