Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

distributed crawling #21

Open
cl4u2 opened this issue Oct 22, 2012 · 0 comments
Open

distributed crawling #21

cl4u2 opened this issue Oct 22, 2012 · 0 comments

Comments

@cl4u2
Copy link
Owner

cl4u2 commented Oct 22, 2012

  • a intervalli regolari, o quando una directory cambia (si puo' essere
    notificati quando questo succede dal servizio "inotify" di Linux):
    • se non esiste, nello share samba, una directory chiamata
      "ninuxoo_index", questa viene creata ed al suo interno viene creato un
      file compresso con dentro l'elenco di tutti i file e directory dello
      share samba
    • se invece la directory ninuxoo_index esiste, ed all'interno si
      trova il file compresso con la descrizione di file e directory, viene
      generato un diff file con i cambiamenti. Se esistono gia' dei diff file,
      ne viene tenuto conto e fatto il diff solo rispetto all'ultimo
    • ogni tot (tipo ogni settimana) i diff sono raggruppati dentro un
      unico file e si ricomincia da capo con i nuovi diff file
    • il crawler passa e se esiste la directory ninuxoo_index, se ha gia'
      scaricato in precedenza il file descrittivo della directory, scarica
      solo i diff che gli mancano, altrimenti scarica tutto quello che c'e'
      nel ninuxoo_index, applica i diff, e parsa
    • se ninuxoo_index/ non esiste fa il crawl "normale"
    • implementiamo una nuova chiamata JSON "crawl_me" su ninuxoo "main"
      che quando viene chiamata fa il "crawl on demand" di uno share

I vantaggi di questo sistema sono che:

  • e' indipendente dal tipo di share: funziona sia su samba che su ftp
    che su http
  • se c'e' qualche problema sul crawler, non si incasina tutto perche'
    hai il ninuxoo_index sempre in uno stato consistente
  • non hai bisogno di mettere su un servizio http apposta
  • si usano file compressi, che quindi sono piu' veloci da scaricare
  • non aggiunge potenziali buchi di sicurezza
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant