Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Design and development of an Online Social Network crawler

1,805 views

Published on

Published in: Technology
  • Be the first to comment

Design and development of an Online Social Network crawler

  1. 1. Facoltà di Corso di Laurea inIngegneria dell’Informazione Ingegneria Informatica Progettazione e Sviluppo di una Piattaforma Software per la Raccolta di Informazioni da Reti Sociali Online di Feroldi Federico Relatore: Prof. Piero FRATERNALI Anno Accademico 2009 - 2010
  2. 2. INTRODUZIONE
  3. 3. Cos’è una Rete Sociale?
  4. 4. Cos’è una Rete Sociale? u
  5. 5. Cos’è una Rete Sociale? u u u u
  6. 6. Cos’è una Rete Sociale? u u u u u u
  7. 7. Cos’è una Rete Sociale? u u u u uu u u
  8. 8. Cos’è una Rete Sociale? u u u u u u u u u u u u u u u u u u u u uuu u u u uuu uu u u u u u u
  9. 9. Cos’è una Rete Sociale? u u u u u u u u u u u u u u 150 u u u NUMERO MEDIO DI u u u u uRELAZIONI SOCIALI u u uuu (NUMERO DI DUNBAR) u u uu u u u u u u
  10. 10. Reti Sociali Online
  11. 11. Reti Sociali Online
  12. 12. Reti Sociali Online
  13. 13. Reti Sociali Online 400 NUMERO MEDIO DI RELAZIONI SOCIALI SU FACEBOOK
  14. 14. Influenza
  15. 15. Influenza
  16. 16. Reputazione
  17. 17. Reputazione
  18. 18. Interessi
  19. 19. Interessi
  20. 20. Filtraggio Sociale: Cascaad
  21. 21. Filtraggio Sociale: Cascaad
  22. 22. Architettura di Cascaad
  23. 23. Architettura di Cascaad
  24. 24. Architettura di Cascaad RACCOLTA
  25. 25. Architettura di Cascaad RACCOLTA relazioni ANALISI
  26. 26. Architettura di Cascaad RACCOLTA relazioniflu ss o ANALISI ag gr eg at o caratteristiche FILTRO flusso filtrato u
  27. 27. Architettura di Cascaad RACCOLTA RACCOLTA relazioniflu ss o ANALISI ag gr eg at o caratteristiche FILTRO flusso filtrato u
  28. 28. Raccolta dati: il Web Crawler
  29. 29. Raccolta dati: il Web Crawler“È un software che analizza icontenuti di una rete in modo metodico e automatizzato.” - Wikipedia
  30. 30. ANALISI
  31. 31. Prototipo Sperimentale
  32. 32. Prototipo SperimentaleIntegrazione?
  33. 33. Prototipo SperimentaleIntegrazione?Architettura?
  34. 34. Prototipo SperimentaleIntegrazione?Architettura?Criticità?
  35. 35. Twitter: Problematiche Emerse
  36. 36. Twitter: Problematiche Emerse Request Rate Limitato
  37. 37. Twitter: Problematiche Emerse Request Rate Limitato Singolo Crawler = Bottleneck
  38. 38. Twitter: Problematiche Emerse Request Rate Limitato Singolo Crawler = Bottleneck Scalabilità su milioni di utenti
  39. 39. IL PROGETTO
  40. 40. Principi di Progettazione
  41. 41. Principi di ProgettazioneScalabilità
  42. 42. Principi di ProgettazioneScalabilitàFlessibilità
  43. 43. Principi di ProgettazioneScalabilitàFlessibilitàModularità
  44. 44. Principi di ProgettazioneScalabilitàFlessibilitàModularitàEstensibilità
  45. 45. Tecnologie
  46. 46. Tecnologie
  47. 47. Tecnologie
  48. 48. Tecnologie
  49. 49. Layer Applicativi
  50. 50. Layer ApplicativiJVM JVM JVM
  51. 51. Layer ApplicativiSPRING SPRING SPRING JVM JVM JVM
  52. 52. Layer Applicativi MULE ESBSPRING SPRING SPRING JVM JVM JVM
  53. 53. Layer Applicativi CRAWLING FRAMEWORK MULE ESBSPRING SPRING SPRING JVM JVM JVM
  54. 54. Layer ApplicativiTWITTER FACEBOOK ... CRAWLING FRAMEWORK MULE ESBSPRING SPRING SPRING JVM JVM JVM
  55. 55. Architettura del Framework
  56. 56. Architettura del Frameworkcrawling job SPIDER
  57. 57. Architettura del Frameworkcrawling job SPIDER requests SCHEDULER
  58. 58. Architettura del Frameworkcrawling job SPIDER requests SCHEDULER requests DOWNLOADER
  59. 59. Architettura del Frameworkcrawling job SPIDER requests data SCHEDULER requests DOWNLOADER
  60. 60. Architettura del Frameworkcrawling job SPIDER requests data SCHEDULER requests DOWNLOADER
  61. 61. Architettura del Frameworkcrawling job SPIDER requests results data SCHEDULER requests DOWNLOADER PROCESSOR
  62. 62. Architettura del Frameworkcrawling job SPIDER requests results data SCHEDULER requests DOWNLOADER PROCESSOR processed results
  63. 63. Caratteristiche: Modularitàcrawling job SPIDER requests results data SCHEDULER requests DOWNLOADER PROCESSOR processed results
  64. 64. Caratteristiche: Scalabilitàcrawling job SPIDER requests results data SCHEDULER requests DOWNLOADER PROCESSOR processed results
  65. 65. Caratteristiche: Scalabilitàcrawling job SPIDER SPIDER SPIDER requests results data SCHEDULER requests DOWNLOADER DOWNLOADER DOWNLOADER PROCESSOR processed results
  66. 66. Caratteristiche: Flessibilitàcrawling job SPIDER requests results data SCHEDULER requests DOWNLOADER PROCESSOR processed results
  67. 67. Caratteristiche: Flessibilitàcrawling job SPIDER requests results data SCHEDULER requests DOWNLOADER PROCESSOR processed results
  68. 68. Caratteristiche: Estensibilitàcrawling job SPIDER requests results data SCHEDULER requests DOWNLOADER PROCESSOR processed results
  69. 69. Caratteristiche: Estensibilitàcrawling job SPIDER requests results data Duplicate Filter requests SCHEDULER DOWNLOADER PROCESSOR processed results
  70. 70. Soluzioni TecnicheProtocollo di Autenticazione SPIDER DOWNLOADER
  71. 71. Soluzioni TecnicheDeduplicazione a TempoSPIDER SCHEDULERRequests Requests Requests Requests Request Today 1 Day Ago 2 Days Ago 3 Days Ago 4 Days Ago FIFO queue made of Bloom Filters
  72. 72. RISULTATI
  73. 73. Twitter “Followers” Crawler
  74. 74. Twitter “Followers” Crawler
  75. 75. Ruolo del Framework
  76. 76. Ruolo del Framework Twitter Specific 10% Generic Framework 90% 3 Giorni/Uomo Tempo di Sviluppo
  77. 77. Raccolta dati da Twitter 1 Million Users/Day Crawling Rate (single node)
  78. 78. Cloud DeploymentScheduler Spider Module Modules EC2Processor Downloader Module Modules
  79. 79. Running Live
  80. 80. Running Live
  81. 81. Running LiveSorgenti informative selezionate per livello di INFLUENZA, REPUTAZIONE e affinità di INTERESSI con il lettore.
  82. 82. Considerazioni Finali
  83. 83. Considerazioni FinaliOpen Source = Vantaggio
  84. 84. Considerazioni FinaliOpen Source = VantaggioFramework = Flessibilità
  85. 85. Considerazioni FinaliOpen Source = VantaggioFramework = FlessibilitàAspetti Legali ed Etici
  86. 86. Grazie

×