當前位置:法律諮詢服務網 - 中國稅務 - 服務端和各種客戶端(手機端,平板端,web端)怎樣進行數據同步?客戶端需要數據庫嗎?若需要,各種客戶端

服務端和各種客戶端(手機端,平板端,web端)怎樣進行數據同步?客戶端需要數據庫嗎?若需要,各種客戶端

妳說的數據同步,既然同步,客戶端是壹定要有存儲數據的,這個存儲無論是數據庫還是XML或者其他的格式。以壹個小型應用為例,比如通訊錄吧。服務端應該是壹個數據中心,客戶端對應的也應該有壹個相同的數據表,存儲本地數據。正如妳說的沒有網絡的時候,不影響使用。如果妳的軟件是多用戶或者多租戶版本的。服務端的表結構應該多出壹個tenantID和userID來區分用戶和租戶的數據。客戶端和服務端的表結構應該都有創建時間和最後更新時間(可以作為誰同步誰的依據,但不是唯壹的。)正如@任文彬提供的思路,但是我覺得這個思路還是比較適合文件類的同步,對於數據庫信息的同步,經常涉及到查詢比較,性能上可能不會太好。所以不如再增加壹個字段“狀態”,狀態可以分為1待更新,2更新中,3已更新,4待刪除,5刪除中,6已刪除等等。比如客戶端進行新增操作,數據插入本地表中,狀態為1待更新,同步數據從服務器返回2更新中,更新本地表狀態為2,服務器同步完成,更新本地表狀態已更新。這樣做的好處是,其中無論哪個環節出了問題,比如機器突然斷電,或者突然斷網,等下次重新使用的時候,都可以根據表的狀態碼來確定數據是否需要更新。軟件的應用場景比如是這樣的:客戶端是在公司的內網,供用戶在公司的桌面端使用,那麽內網服務器保存的就是本地數據,但是用戶還可能外出的時候通過移動設備來使用軟件,這個移動端使用的就應該是服務端的同步數據了。按照這種思路,客戶端增刪改->改變本地狀態碼->同步數據中->改變本地狀態碼->同步完成->改變本地狀態碼,那如果移動設備對服務端的數據操作呢?也需要改變服務端狀態碼為待更新、待刪除(刪除應該區分對待),下次登錄客戶端的時候自動檢查服務端的“狀態”為“待操作的”,然後服務端同步到客戶端。這樣無論是對本地表操作,還是對服務端的直接操作,都可以保證兩個表的數據是同步的。涉及數據同步的還需要考慮到數據表主鍵同壹時空唯壹性的問題。

  • 上一篇:廢舊物資稅收優惠政策
  • 下一篇:強制分紅優先股和參與優先股的區別
  • copyright 2024法律諮詢服務網