Visualizzazione dei risultati da 1 a 1 su 1

Hybrid View

  1. #1

    [Java] Thred e similuazione di acquisizione/computazione dati da sensore

    Salve a tutti,
    ho il seguente problema da cui non riesco a venirne fuori, provo a descriverlo mediante un toy example:

    Mettiamo il caso che io ho N file csv, ogni file simula i dati acquisiti da un sensore. Ad esempio se il sensore fosse una stazione meteo potremmo dire che il file csv contiene al suo interno le seguenti colonne:

    timestamp - temperatura - umidità

    Ora la cadenza con cui i sensori inviano le informazioni sono randomiche per ogni sensore, questo significa che i file csv possono essere di diversa lunghezza e che i timestamp dei vari file csv non sono allineati.

    Io con questi file dovrei simulare un acquisizione online delle informazioni dal sensore, ovvero far finta che ci sia uno streaming di dati aperto con ogni sensore, ed il sensore quando vuole lui mi manda dei dati.

    Fin qui sarebbe facile, ovvero potrei creare N thread, uno per sensore, ognuno che legge una riga alla volta il csv di un sensore. Il problema però è più complicato, io con i dati arrivati dai sensori devo fare delle operaizoni quindi ogni qualvolta mi arriva un dato da uno qualsiasi dei sensori io devo lanciare una funzione che mi esegue dei conteggi.

    Quindi l'esempio potrebbe essere del tipo:
    Sono in ascolto su N sensori, ed ho una struttura dati con dei conteggi che è comune per tutti i sensori. Appena mi arriva un osservazione da uno qualsiasi dei sensori devo lanciare una funzione che mi aggiorna i conteggi (che ripeto sono in comune su tutti i sensori) e che se si verifica una certa condizione mettiamo che chiama un ulteriore funzione.

    Come potrei fare tutto questo?

    edit:
    Vi faccio un esempio pratico:
    Se ho due sensori, ognuno con il proprio file csv:

    codice:
    Csv1: 
    18:00 - low  - low 
    19:00 - low  - high
    
    Csv2 
    18:03 - high - low
    O bisogno di leggere prima l'osservazione alle 18:00 di csv1 e aggiornare i conti, poi quella alle 18:03 e aggiornare i conti e poi di nuovo alle 19:00 del file csv1 ed aggiornare i conti. Se aggiornado i conti si verifica una determianta condizione devo lanciare una determinata routine.

    Se facessi un thread per ogni sensore che legge il file CSV non saprei come dirgli di leggere in ordine temporale sopra tutti i sensori.

    Vi ringrazio in anticipo per l'aiuto,
    Neptune.
    Ultima modifica di Neptune; 14-05-2014 a 11:59
    "Estremamente originale e fantasioso" By darkiko;
    "allora sfiga crepuscolare mi sa che e' meglio di atmosfera serale" By NyXo;
    "per favore, già è difficile con lui" By fcaldera;
    "se lo apri te e invece di "amore" ci metti "lavoro", l'effetto è lo stesso" By fred84

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.