Skenovani zdroju

Transkript

Skenovani zdroju
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ů

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...

Více

2,65MB PDF - Bartojan je borec.

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...

Více

Studie č. 15 - Slovácké muzeum

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...

Více

text ke stažení zde - Rada pro mezinárodní vztahy

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...

Více

Sborník příspěvků

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...

Více

Metodická pomůcka Využití modelů hydrologické

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...

Více

Nastavení osvitového souboru

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...

Více

komunitní tlumočení v oblasti cizinecké agendy

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...

Více