Domanda

Sono nuovo nella programmazione, quindi mi scuso per qualsiasi palese passo falso che potrei fare nel mio concetto di design.

Sto cercando di progettare un'app molto semplice utilizzando Python che effettuerà la scansione dei punti di accesso e registrerà i relativi dettagli in un database MySql remoto.Il mio codice funziona bene al momento e scrive le informazioni su un database gestito localmente senza problemi, ma ora la mia domanda è: quali insidie ​​​​saranno quando cercherò di inserire i valori in un DB remoto?La connessione a banda larga sarà una connessione mobile 3G e la mia preoccupazione è, se eseguita in un punto nero senza copertura 3G, come posso bloccarla in modo che i dati vengano conservati localmente fino al ripristino della copertura?

Ecco il mio codice finora: -

while 1:
    s.send('\n!0 enable CLIENT bssid,mac,manuf,type,minlat,minlon,maxlat,maxlon,agglat,agglon,bestlat,bestlon,gpsfixed,signal_dbm,noise_dbm,firsttime,lasttime')

    buff = s.recv(512)
    tmp = buff.split()
    bssid = tmp[1]
    mac = tmp[2]
    manuf = tmp[3]
    type = tmp[4]
    minlat = tmp[5]
    minlon = tmp[6]
    maxlat = tmp[7]
    maxlon = tmp[8]
    agglat = tmp[9]
    agglon = tmp[10]
    bestlat = tmp[11]
    bestlong = tmp[12]
    gpsfixed = tmp[13]
    signal_dbm = tmp[14]
    noise_dbm = tmp[15]
    firsttime = tmp[16]
    lasttime = tmp[17]

    if bssid != mac:
        cursor.execute("""INSERT INTO data (bssid, mac, manuf, type,
minlat, minlon, maxlat, maxlon, agglat, agglon, bestlat, bestlong,
gpsfixed, signal_dbm, noise_dbm, firstime, lasttime)
                       VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s,
%s, %s, %s, %s, %s, %s, %s)""",
                       (bssid, mac, manuf, type, minlat, minlon,
maxlat, maxlon, agglat, agglon, bestlat, bestlong, gpsfixed,
signal_dbm, noise_dbm, firstime, lasttime) )
    else:
        pass

Come detto, il codice funziona bene e quindi non è proprio una questione sul mio codice ma più su cosa dovrei considerare quando utilizzo un DB MySql remoto e una copertura a banda larga mobile.Poiché effettuerò la scansione dei punti di accesso mentre sono in giro, sono consapevole che potrei non avere copertura 3G per 10 minuti, ad esempio, e avrò rilevato, diciamo 200 punti di accesso, quindi mi chiedo solo come è meglio gestire questa situazione?Scriverli nella RAM, in un file temporaneo o in un DB locale e quindi aggiornarli quando la connessione 3G viene ripristinata?

Grazie

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top