A method and system for scheduling downloads in a web crawler. A web
crawler may use multiple threads to download documents from the world wide
web. Both threads and queues are identified by numerical ID's. Each thread
in the web crawler is assigned to dequeue from a queue until the assigned
queue is empty. Each thread enqueues URL's as new URL's are discovered in
the course of downloading web pages. In one embodiment, when a thread
discovers a new URL, a numerical function is performed on the URL's host
component to determine the queue in which to enqueue the new URL. In
another embodiment, each queue in a web crawler may be dynamically
assigned to a host computer so that URL's enqueued into the same queue all
have the same host component. When a queue becomes empty, a new host may
be dynamically assigned to it. In both embodiments, when all the threads
are dequeuing in parallel from each of the respectively assigned queues,
no more than one request to one host computer is made at the same time.
Un método y un sistema para las transferencias directas programar en una correa eslabonada de tela. Una correa eslabonada de tela puede utilizar los hilos de rosca múltiples para descargar documentos del World Wide Web. Ambos hilos de rosca y coletas son identificados por las identificaciones numéricas. Cada hilo de rosca en la correa eslabonada de tela se asigna para dequeue de una coleta hasta que la coleta asignada es vacía. Cada hilo de rosca enqueues los URL mientras que los URL nuevos se descubren en el curso de descargar Web pages. En una encarnación, cuando un hilo de rosca descubre un URL nuevo, una función numérica se realiza en el componente del anfitrión del URL para determinar la coleta en la cual enqueue el URL nuevo. En otra encarnación, cada coleta en una correa eslabonada de tela se puede asignar dinámicamente a un ordenador huesped de modo que los URL enqueued en igual hagan cola todos tengan el mismo componente del anfitrión. Cuando una coleta llega a ser vacía, un nuevo anfitrión se puede asignarle dinámicamente. En ambas encarnaciones, cuando todos los hilos de rosca dequeuing en paralelo de cada uno de las coletas respectivamente asignadas, no más de una petición a un ordenador huesped se hace en el mismo tiempo.