Sto lavorando a un software audio che utilizza il servizio web The EchoNest per identificare e recuperare i metadati relativi alle canzoni audio e vorrei avere qualche consiglio sull'implementazione di una catena di elaborazione in background.
(per ottenere l'immagine completa, ti mostrerò cosa ho già fatto)
Ho implementato la seguente catena che è obbligatoria prima di interrogare il servizio sui dettagli di un brano:
Nonc'èmoltodadiretrannecheprimadipoterinterrogareidatideibrani,abbiamobisognodellasuaimprontadigitaleediunIDdicanzonerestituitodalprocessosecondarioIdentifica.Dituttiquestipassaggi,accadonotuttilocalmentemal'ultimo(Identifica).
Orasullapartedelsistemachestocercandopericonsigli:
Qui sopra ci sono i diversi tipi di query che possono essere richiesti per una canzone, non sono interdipendenti poiché abbiamo già l'unica cosa necessaria, l'ID della canzone (diagramma 1). Nota che ne ho solo aggiunti alcuni, ma ce ne sono quasi 30 (vedi qui ).
Requisiti / architettura:
- l'utente può rilasciare i file in qualsiasi momento, vengono accodati per l'identificazione Le query
- possono essere eseguite parallelamente al passaggio 1 e facoltativamente contemporaneamente
Idealmente, il sistema dovrebbe essere:
- facilmente estendibile quando, ad esempio, implemento un nuovo tipo di query.
- facile da usare, accodico solo una query alla catena e aspetto una risposta
Ambiente:
Sto usando C # con Dataflow (Task Parallel Library) , al momento ho avuto un buon successo implementando il diagramma 1 utilizzando questo approccio .
La mia domanda:
Esiste un modello particolare / noto per affrontare questo problema?