私はコーディングに慣れていないので、私のデザイン コンセプトで行ったあからさまな誤りについてはお詫び申し上げます。
アクセス ポイントをスキャンし、その詳細をリモートの MySql データベースに記録する Python を使用した非常に基本的なアプリを設計しようとしています。私のコードは現在問題なく動作し、情報をローカルに保持されているデータベースに問題なく書き込みますが、私のクエリは、値をリモート DB に挿入しようとするときにどのような落とし穴があるのでしょうか? ブロードバンド接続は 3G モバイル接続になりますが、私の懸念は、3G カバレッジのないブラックスポットで実行した場合、カバレッジが回復するまでデータがローカルに保持されるようにするにはどうすればよいかということです。
これまでの私のコードは次のとおりです:-
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
前述のように、コードは正常に動作するため、コードに関する問題ではなく、リモートの MySql DB とモバイル ブロードバンド カバレッジを使用する際に考慮すべきことについての質問です。外出中にアクセス ポイントをスキャンするので、たとえば 10 分間 3G のカバレッジがなく、たとえば 200 のアクセス ポイントが検出されることを認識しています。それらをRAM、一時ファイル、またはローカルDBに書き込み、3G接続が元に戻ったときに更新しますか?
ありがとう