Dissertacao_Wallace

Propaganda
VERIFICAÇÃO DE UNICIDADE DE URLS
EM COLETORES DE PÁGINAS WEB
Wallace Favoreto
Orientador: Prof. Nivio Ziviani
Universidade Federal de Minas Gerais
LATIN - LAboratory for Treating INformation
1
Agenda

Introdução






Arquitetura de um Coletor
Algoritmo Proposto (VEUNI)
Experimentos






Definição do Problema
Objetivos
Trabalhos Relacionados
ClueWeb09
Baseline
Requisitos de Tempo e de Espaço
Taxa de Coleta
Conclusões e Trabalhos Futuros
Contribuições
LATIN - LAboratory for Treating INformation
2
Definição do Problema

Algoritmo ingênuo para verificação de
unicidade de URLs:
LATIN - LAboratory for Treating INformation
3
Definição do Problema

Considere que:




Aproximadamente 1 milhão de URLs deve ser
verificada em um ciclo de coleta;
O disco tenha tempo de seek igual a 10
milissegundos.
O algoritmo ingênuo leva pelo menos 3h para
verificar a unicidade de 1 milhão de URLs.
Um algoritmo mais eficaz e eficiente é
necessário.
LATIN - LAboratory for Treating INformation
4
Definição do Problema

Eficácia:


Eficiência:


Dizer com certeza se uma URL já foi coletada ou
não.
Executar em tempo não proibitivo ao
funcionamento do restante do coletor.
Quais os problemas de um verificador de
unicidade de URLs ineficaz e ineficiente?
LATIN - LAboratory for Treating INformation
5
Definição do Problema





Desperdício de espaço de armazenamento.
Redução do número de páginas distintas
coletadas.
Desperdício de banda de internet no fetcher.
Redução da expansão da coleta.
Desrespeito ao politeness.
LATIN - LAboratory for Treating INformation
6
Objetivos



Propor um novo algoritmo chamado VEUNI
(VErificador de UNIcidade de URLs).
Discutir a arquitetura do coletor que o
algoritmo VEUNI está inserido.
Comparar o VEUNI com o melhor algoritmo
da literatura.
LATIN - LAboratory for Treating INformation
7
Trabalhos Relacionados



Árvore-B [Pinkerton, 1994]
Cache de memória [Heydon & Najork, 1999]
batch disk check [Heydon & Najork 2002]
LATIN - LAboratory for Treating INformation
8
Máquina de Busca - Componentes

Coletor


Indexador


Encontra, coleta e armazena páginas da Web.
Mantém um índice de páginas coletadas.
Processador de Consultas

Realiza buscas eficientes sobre o índice.
LATIN - LAboratory for Treating INformation
9
Coletor – Componentes




Fetcher
Extrator de URLs
Verificador de Unicidade de URLs
Escalonador
LATIN - LAboratory for Treating INformation
10
Arquitetura de um Coletor
LATIN - LAboratory for Treating INformation
11
Fetcher
LATIN - LAboratory for Treating INformation
12
Extrator de URLs
LATIN - LAboratory for Treating INformation
13
Verificador de Unicidade de URLs
LATIN - LAboratory for Treating INformation
14
Escalonador
LATIN - LAboratory for Treating INformation
15
Algoritmo Proposto - VEUNI


O algoritmo VEUNI é parte do coletor.
Ciclo de coleta:
LATIN - LAboratory for Treating INformation
16
VEUNI – Entrada e Saída
LATIN - LAboratory for Treating INformation
17
Repositório de URLs (R)
LATIN - LAboratory for Treating INformation
18
Algoritmo Proposto - VEUNI
LATIN - LAboratory for Treating INformation
19
VEUNI - Exemplo de Funcionamento
Escalonamento
R0
R1
R2
LATIN - LAboratory for Treating INformation
RN-1
20
VEUNI - Exemplo de Funcionamento
Escalonamento
R0
R1
R2
LATIN - LAboratory for Treating INformation
RN-1
21
VEUNI - Exemplo de Funcionamento
Escalonamento
R0
R1
R2
LATIN - LAboratory for Treating INformation
RN-1
22
VEUNI - Exemplo de Funcionamento
Escalonamento
R0
R1
R2
LATIN - LAboratory for Treating INformation
RN-1
23
VEUNI - Entrada Lid
Escalonamento
R0
R1
R2
RN-1
Lid
Lid: URLs coletadas no ciclo id.
LATIN - LAboratory for Treating INformation
24
VEUNI - Entrada Mid
Escalonamento
R0
R1
R2
RN-1
Lid
Mid
Lid: URLs coletadas no ciclo id.
Mid: Metadados das páginas coletadas no ciclo id.
LATIN - LAboratory for Treating INformation
25
VEUNI - Entrada Eid
URLs Extraídas
hash
Eid
AUX1
AUX2
LATIN - LAboratory for Treating INformation
AUXN-1
26
VEUNI - Entrada Eid
URLs Extraídas
hash
Eid
AUX1
AUX2
LATIN - LAboratory for Treating INformation
AUXN-1
27
VEUNI - Eid e AUXi
Escalonamento
R0
R1
Lid
AUX1
Mid
Eid
R2
AUX2
RN-1
AUXN-1
Lid: URLs coletadas no ciclo id.
Mid: Metadados das páginas coletadas no ciclo id.
Eid: URLs extraídas do ciclo id que pertencem a R0.
LATIN - LAboratory for Treating INformation
28
VEUNI - AUX0
Escalonamento
R0
R1
Lid
AUX1
Mid
Eid
AUX0
R2
AUX2
RN-1
AUXN-1
Lid: URLs coletadas no ciclo id.
Mid: Metadados das páginas coletadas no ciclo id.
Eid: URLs extraídas do ciclo id que pertencem a R0.
AUX0: URLs extraídas para o R0 em ciclos anteriores.
LATIN - LAboratory for Treating INformation
29
VEUNI - Entrada
Escalonamento
R0
R1
Lid
AUX1
Mid
Eid
AUX0
R2
AUX2
RN-1
AUXN-1
Lid: URLs coletadas no ciclo id.
Mid: Metadados das páginas coletadas no ciclo id.
Eid: URLs extraídas do ciclo id que pertencem a R0.
AUX0: URLs extraídas para o R0 em ciclos anteriores.
LATIN - LAboratory for Treating INformation
30
VEUNI - Saída
Escalonamento
R0
R1
AUX1
NovoR0
R2
AUX2
RN-1
AUXN-1
Lid: URLs coletadas no ciclo id.
Mid: Metadados das páginas coletadas no ciclo id.
Eid: URLs extraídas do ciclo id que pertencem a R0.
AUX0: URLs extraídas para o R0 em ciclos anteriores.
LATIN - LAboratory for Treating INformation
31
VEUNI - Saída
Escalonamento
NovoR0
R1
AUX1
R00
R
R2
AUX2
RN-1
AUXN-1
Lid: URLs coletadas no ciclo id.
Mid: Metadados das páginas coletadas no ciclo id.
Eid: URLs extraídas do ciclo id que pertencem a R0.
AUX0: URLs extraídas para o R0 em ciclos anteriores.
LATIN - LAboratory for Treating INformation
32
VEUNI – Primeiro Refinamento
LATIN - LAboratory for Treating INformation
33
VEUNI - Intercalação
LATIN - LAboratory for Treating INformation
34
VEUNI - Intercalação
LATIN - LAboratory for Treating INformation
35
VEUNI – Inserção de Novos servidores
LATIN - LAboratory for Treating INformation
36
Experimentos

Requisitos de tempo e espaço



Tempo de atualização das estruturas de dados.
Espaço requerido para armazenamento das
estruturas de dados.
Taxa de coleta


Medir a taxa no decorrer da coleta.
Número de páginas/segundo.
LATIN - LAboratory for Treating INformation
37
ClueWeb09





Simulação de uma coleta utilizando as páginas
da ClueWeb09.
Evita a necessidade de utilização do fetcher, do
extrator de URLs e do escalonador.
Experimento mais controlado.
Reprodução facilitada.
350 milhões de URLs foram extraídas da
ClueWeb09.
LATIN - LAboratory for Treating INformation
38
Coleta Simulada

Conjunto de URLs da ClueWeb09: 350 milhões

# de URLs em cada ciclo de coleta: 1 milhão



# de URLs coletadas em cada ciclo: 100 mil
# de URLs extraídas em cada ciclo: 900 mil
350 ciclos de coleta realizados.
LATIN - LAboratory for Treating INformation
39
Baseline

DRUM (Disk Repository with Update Management)
LATIN - LAboratory for Treating INformation
40
Resultados

Requisito de Tempo
LATIN - LAboratory for Treating INformation
41
Resultados

Requisito de Tempo
LATIN - LAboratory for Treating INformation
42
Resultados

Requisito de Espaço
LATIN - LAboratory for Treating INformation
43
Resultados

Requisito de Espaço
LATIN - LAboratory for Treating INformation
44
Resultados

Tempo de Coleta
LATIN - LAboratory for Treating INformation
45
Resultados

Tempo de Coleta
LATIN - LAboratory for Treating INformation
46
Resultados

Taxa de Coleta
LATIN - LAboratory for Treating INformation
47
Resultados

Taxa de Coleta
LATIN - LAboratory for Treating INformation
48
Conclusões



O algoritmo VEUNI é mais eficiente que o
algoritmo baseline.
O algoritmo VEUNI requer mais espaço de
armazenamento que o algoritmo baseline.
A taxa de coleta do coletor que utiliza o
algoritmo VEUNI praticamente se mantém no
decorrer da coleta.
LATIN - LAboratory for Treating INformation
49
Trabalhos Futuros


Comparar o algoritmo VEUNI com uma
implementação do algoritmo DRUM que não
utilize Berkeley DB.
Estudar maneiras de simplificar a
representação das URLs, sem perder a
eficiência relatada.
LATIN - LAboratory for Treating INformation
50
Contribuições




Apresentação da arquitetura de um coletor
de páginas da Web. (Capítulo 2)
Algoritmo VEUNI para verificar unicidade de
URLs (Capítulo 3)
Discussão de propostas que levaram ao
algoritmo VEUNI (Seção 3.3)
Ambiente de experimentação controlado que
utiliza informação da ClueWeb09 (Seção 4.2)
LATIN - LAboratory for Treating INformation
51
Perguntas
LATIN - LAboratory for Treating INformation
52
Download