17

Project Lobotomy Essentials, parte IV: SubConsciousDaemon

marzo 2008 da Lobotomia

1 Stella2 Stelle3 Stelle4 Stelle5 Stelle6 Stelle7 Stelle8 Stelle9 Stelle10 Stelle (Non ancora votato)
Loading ... Loading ...

Quarto articolo della serie dedicata , oggi si parla di SubConsciousDaemon.

Come abbiamo visto nei precedenti articoli della serie il fatto di avere uno storage relazionale permette di eseguire complesse ricerche tra i contenuti usando i metadati ad essi assignati, ma chiaramente se non ci sono metadati tra cui cercare e da coinvolgere nelle interrogazione SQL serve a ben poco. Impensabile sarebbe incaricare l’utente di occuparsi dell’intera procedura di popolamento della base dati, e di raggiungere una fine granularita’ delle ricerche usando solo le informazioni fornite manualmente da esso (e magari pure sbagliate): indispensabile e’ fornire una piu’ ricca scelta di criteri di analisi dei contenuti, indispensabile e’ automatizzare il piu’ possibile l’estrazione automatica dei metadati dai files posti nel filesystem, indispensabile e’ il SubConsciousDaemon.

Questo componente del sistema e’ appunto un daemon posto in costante monitoraggio del filesystem Hyppocampus, ed interviene ad ogni variazione in esso. Ogni qualvolta un elemento viene creato, o distrutto, o modificato, SubConsciousDaemon viene notificato per mezzo di una connessione DBus e procede con l’invocazione dei diversi moduli atti a estrarre o correggere i metadati ad esso assegnati. Se un file viene eliminato, ad esempio, esso provvede a togliere il riferimento ad esso da tutti i metadati degli altri files che lo menzionano, distruggendo praticamente una relazione che non esiste piu’. E se invece ne viene modificato il contenuto e’ necessario riapplicare le euristiche di analisi semantica, come l’estrazione delle keywords.

Il demone e’ ampiamente espandibile per mezzo di plugins, ognuno dei quali viene destinato alla verifica di un particolare mimetype ed invocato solo quando necessario. In tal modo le potenzialita’ dell’applicazione crescono a dismisura, e facile e’ agganciarla a librerie e tools esistenti che permettono di ricavare dati addizionali da particolari tipi di contenuti. Da notare che per le prossime versioni del programma e’ previsto un radicale cambiamento nell’interfaccia per i plugins, che permettera’ la concatenazione di moduli tra loro correlati ed una piu’ efficiente e scalabile gestione.

Il codice e’ stato disegnato per essere ampiamente parallelizzabile, e’ predisposto a trattare piu’ eventi provenienti dal filesystem concorrentemente ed ancor piu’ lo sara’ prossimamente: in questo modo si cerca di sfruttare al meglio l’architettura hardware multi-core che rappresenta oggi lo standard per i processori di nuova generazione, ed in futuro pesera’ sempre piu’ nel campo dell’ingegneria software.

Da ricordare che la quantita’ di informazioni estraibili automaticamente da un file e’ enorme, non sottovalutabile. Si pensi solo ai tags ID3 contenuti comunemente nei contenuti in formato MP3, o ai dati riguardanti la formattazione contemplati nel formato PDF: ognuno si presenta in un modo diverso ed e’ diversamente consultabile, ma estraendoli e riportandoli in una interfaccia unica e comune (il filesystem Hyppocampus) essi possono essere realmente sfruttati e combinati nelle maniere piu’ stravaganti.

Per dettagli su SubConsciousDaemon, si consulti la pagina di riferimento: http://lobotomy.sf.net/SubConsciousDaemon.php
Nei prossimi brani della serie, maggiori informazioni sul layer di interazione vera e propria tra e l’utente, e la visione del environment relazionale.

Post correlati

Leave a Reply

XHTML: Puoi usare questi tag: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>