[問題] SQLite檔案下載 資料錯誤(觀念問題)

作者: Teferi (太費力)   2014-01-17 16:18:28
各位板上的先進,前輩們
小弟現在的維運案又碰上問題了
先描述一下需求功能 是手機端資料庫連線到Server下載
1.送出 API 1 確認線上版本(傳回版本string)
2.若版本有更動則送 API 2 , 並傳回下載網址 HTTP/File (其中檔案名稱是固定的)
3.ASIHTTP套件下載db.sqlite 後存入手機
目前發生的問題是 在版本未更新的情況下,下載到的db.sqlite內容會不同
與Server端的維護者確認 server上版本只有一個A
但是手機卻有下載到資料不全B的內容(檔案名稱沒變)導致資料缺少
找不出來是哪裏出錯了
目前整理出來 兩個猜想的答案 跟解決方法
1.db.sqlite下載不完整,所以雖然有資料但是不完全
解決方法:壓縮成gzip 下載後若無法解壓縮則捨棄
疑問:因不知道sqlite的檔案結構,是否 下載不完全仍可開啓讀檔
若是 此方案才有可能解決
2.網路環境Cache,因爲這個App存在有一段時間了,有舊的資料存在網路proxy上
若是真因,無論是手機端或Server端都改變不了
解決方法, 修改Server端API讓檔案名稱有版本號(如db20140117v1.sqlite)
疑問:網路是否因路由不同,造成每次取得的檔案有可能是舊的版本on proxy
小弟在寫iOS App前完全沒有資訊背景,所以想來問問可能的真因
問題若很常識還請見諒
作者: howdiun (Howdiun)   2014-01-17 18:15:00
用瀏覽器下載來看,釐清是APP問題還是SERVER問題
作者: Teferi (太費力)   2014-01-17 18:54:00
確認過用瀏覽器下載都是OK的,但手機中的有時資料有少
作者: sorkayi (尋找奶昔)   2014-01-17 21:13:00
資料下載到一半跳出的 之後再開就會出問題?
作者: wasihero ( )   2014-01-18 13:48:00
有沒有完整可以用 md5 做檢查
作者: uranusjr (←這人是超級笨蛋)   2014-01-18 15:46:00
Cache 改不掉很沒道理, 至少在 server 一定能關掉吧
作者: Teferi (太費力)   2014-01-22 09:56:00
後來覺得是1造成的,所以決定在app端加上check機制

Links booklink

Contact Us: admin [ a t ] ucptt.com