Ho un'applicazione che comporta l'elaborazione di pacchetti di ID da una varietà di fonti. Alcune di queste fonti contengono le informazioni che desidero, alcune di esse costituiscono, effettivamente, il rumore. Attualmente, ogni volta che la mia applicazione riceve un pacchetto di dati, controlla il database per verificare che gli ID ricevuti corrispondano ai dati interni prima di fare più lavoro. Vorrei eliminare questo passaggio e / o minimizzare l'elaborazione a causa del rumore.
Un'idea che ho avuto è stata quella di rendere una parte dei miei ID non casuale. Per esempio. invece di utilizzare un UUID completamente casuale, potrei sostituire gli ultimi quattro caratteri con una stringa fissa, quindi la mia applicazione può eseguire un semplice controllo che sarà in grado di filtrare facilmente il rumore il 99,9% delle volte.
Tuttavia, sembra ... sporco ...
Un'altra idea sarebbe quella di creare hash da un po 'di stringa casuale e qualche altra costante. Quindi, quando non ho cancellato, potrei localmente rilevare se la costante corrisponde. Tuttavia, sembra proprio aggiungere un livello di complessità alla soluzione sporca.
Come dovrei affrontare al meglio questa situazione? Ho ragione nel mio istinto che la mia soluzione proposta è un'idea potenzialmente negativa?
Ogni volta che la mia applicazione (un'app mobile) riceve un pacchetto (dati bluetooth a basso consumo energetico), invia una richiesta a un server (funzione lambda AWS), che quindi interroga il database (DynamoDB) per trovare l'ID e risponde con il risultato della query. I server, il throughput del database e le chiamate API costano denaro. Quindi, ridurre il numero di volte che devo eseguire questa operazione riduce i miei costi. Inoltre, ritengo che ridurre al minimo la quantità di larghezza di banda che sto richiedendo dai miei telefoni cellulari degli utenti sia solo una cosa carina da fare.