Sto memorizzando dati di temperatura, tensione e corrente ogni 10 secondi in un file di registro. Questo file dovrebbe essere recuperato in seguito in modo che possiamo leggere i dati e visualizzarli. Il tempo richiesto è di 6 mesi di log e il fabbisogno di spazio è inferiore a 6 MiB.
Il protocollo che ho trovato assomiglia ad un record fisso di 6 byte:
- PID 2 byte
- Dati 4 byte
se PID è un timestamp i dati sono o la data (4 byte) o il tempo (4 byte). Così ho messo un timestamp e qualsiasi misura che segue in quel momento.
Ho provato a memorizzare un timestamp seguito dalle tre letture in modo lineare con record fissi, ma ho rapidamente esaurito lo spazio. Poi ho provato solo a tenere traccia delle modifiche dei valori, memorizzando l'ultimo valore e il valore corrente in caso di modifica dei dati.
Poiché la timeline è strutturata ad albero (YYMMDDhmmss), stavo pensando di ordinare i dati in una struttura ad albero ordinata su una timeline, rendendo le dimensioni del record più complesse, ma come andresti a memorizzare questi dati per un facile recupero basato sulle richieste più tardi se è conservato in un albero?
/ Modifica domande correlate qui: Come memorizzare i dati registrati con frequenza diversa ? i suggerimenti di risposta sono simili a quelli che ho trovato