Distributed web crawling

Distributed Web Crawling ist ein verteiltes Computer Technik, wobei Internet Suchmaschinen Stellen Sie viele Computer ein Index das Internet über Webkriechen. Solche Systeme können es Benutzern ermöglichen, freiwillig ihre eigenen Computer- und Bandbreitenressourcen für die Krabbel -Webseiten anzubieten. Durch die Verbreitung der Ladung dieser Aufgaben auf viele Computer werden Kosten für die Aufrechterhaltung großer Computercluster vermieden.

Typen

Cho[1] und Garcia-Molina untersuchte zwei Arten von Richtlinien:

Dynamische Zuordnung

Mit dieser Art von Richtlinie weist ein zentraler Server verschiedenen Crawlern dynamisch neue URLs zu. Dies ermöglicht dem zentralen Server beispielsweise die Last jedes Crawlers dynamisch aus.

Mit der dynamischen Zuordnung können die Systeme normalerweise auch Downloader -Prozesse hinzufügen oder entfernen. Der zentrale Server kann zum Engpass werden, sodass der größte Teil der Arbeitsbelastung für große Crawls auf die verteilten Krabbelprozesse übertragen werden muss.

Es gibt zwei Konfigurationen von Kriecharchitekturen mit dynamischen Aufgaben, die von Shkapenyuk und Suel beschrieben wurden:[2]

  • Eine kleine Crawler -Konfiguration, in der es eine zentrale gibt DNS Resolver und zentrale Warteschlangen pro Website und verteilte Downloader.
  • Eine große Crawler -Konfiguration, in der der DNS -Resolver und die Warteschlangen ebenfalls verteilt sind.

Statische Aufgabe

Mit dieser Art von Richtlinie gibt es eine feste Regel, die vom Beginn des Crawl festgelegt wird, das den Crawlern neue URLs zuordnet.

Für die statische Zuordnung kann eine Hashing -Funktion verwendet werden, um URLs (oder noch bessere, vollständige Website -Namen) in eine Nummer zu verwandeln, die dem Index des entsprechenden Kriechprozesses entspricht. Da es externe Links gibt, die von einer Website übertragen werden, die einem Kriechenprozess zu einer Website zugewiesen wird, die einem anderen Kriechprozess zugewiesen ist, muss ein URL -Austausch stattfinden.

Um den Overhead aufgrund des URL -Austauschs zwischen Kriechprozessen zu reduzieren, sollte der Austausch in Stapel, mehrere URLs gleichzeitig und die am häufigsten zitierten URLs in der Sammlung durch alle Krabbeln vor dem Kriechen bekannt sein (z. B.: Verwendung Daten aus einem früheren Crawl).[1]

Implementierungen

Ab 2003 verwenden die meisten modernen kommerziellen Suchmaschinen diese Technik. Google und Yahoo Verwenden Sie Tausende einzelner Computer, um das Web zu kriechen.

Neuere Projekte versuchen, ein weniger strukturiertes, mehr zu verwenden ad hoc Form der Zusammenarbeit, indem Freiwillige angewendet werden, um sich in vielen Fällen mit ihren Zuhause oder PCs zu befassen. Schlau aussehen ist die größte Suchmaschine, um diese Technik zu verwenden, die ihre Kraft leistet GRUB verteiltes Web-Crawling-Projekt.

Diese Lösung verwendet Computer, die mit dem verbunden sind Internet kriechen Internetadressen im Hintergrund. Beim Herunterladen von Krabbeln werden sie komprimiert und wieder mit einem Statusflag (z. B. geändert, neu, unten, umgeleitet) an die leistungsstarken zentralen Server zurückgesandt. Die Server, die eine große Datenbank verwalten, senden neue URLs zum Testen an Clients.

Nachteile

Laut dem FAQ um Nutsch, Eine Open-Source-Suchmaschinen-Website, die Einsparungen in der Bandbreite durch verteiltes Webcrawling sind nicht von Bedeutung, da "eine erfolgreiche Suchmaschine mehr Bandbreite erfordert, um Abfrageergebnisseiten hochzuladen, als ihr Crawler die Seiten herunterladen muss ...".

Siehe auch

Quellen

  1. ^ a b Cho, Junghoo; Garcia-Molina, Hector (2002). "Parallele Crawler". Verfahren der 11. Internationalen Konferenz über World Wide Web. ACM. S. 124–135. doi:10.1145/511446.511464. ISBN 1-58113-449-5. Abgerufen 2015-10-13.
  2. ^ Shkapenyuk, Vladislav; Suel, Torsten (2002). "Design und Implementierung einer leistungsstarken Web-Crawler" verteilt "". Data Engineering, 2002. Verfahren. 18. Internationale Konferenz auf. IEEE. S. 357–368. Abgerufen 2015-10-13.

Externe Links