Google同步策略

針對google的同步策略,我們以日歷為例子,做了一個同步流程的完整調(diào)查。調(diào)查手段包括閱讀文檔、實際使用和抓包分析。google日歷的文檔地址如下,接口參數(shù)可到這里查詢:https://developers.google.com/google-apps/calendar/overview?hl=zh-TW調(diào)查結(jié)果與我們的區(qū)別及改進建議:

1、完整的同步流程。? ? ? google:首先是獲取賬戶信息、acl訪問控制信息,接下來是上行按順序發(fā)起修改、發(fā)起刪除、發(fā)起添加,最后是下行,先獲取設(shè)置,然后獲取變更數(shù)據(jù)。? ? ? 我們:我們的目前沒有賬戶信息和acl訪問控制,上行順序是刪除、修改和添加。下行我們是獲取變更數(shù)據(jù),少一個獲取設(shè)置。除了額外的部分,數(shù)據(jù)交換流程和 google基本類似,刪除和修改的順序相反。? ? ? 建議:目前順序基本一致,暫不建議修改。

2、實時同步流程。? ? ? google:只有上行,沒有下行。雙向同步僅限于手動和系統(tǒng)發(fā)起的同步。? ? 我們:有上行也有下行。? ? 建議:實時同步去掉下行。因為絕大多數(shù)時候服務(wù)端并沒有新的數(shù)據(jù)可以更新,下行都是無效請求。

3、更新的推送方式。? ? google:依賴與推送來告知客戶端及時更新數(shù)據(jù),基本是秒到。? 我們:也依賴推送,但實時性有待提高。? 建議:先依賴推送,逐步提高實時性。之前每次同步都雙向能一定概率降低時效問題,但是無效請求太多對服務(wù)器和客戶端的性能有太大的壓力,也不能解決實時性 問題。如果客戶端對實時性要求很高的,可以考慮增加刷新按鈕作為補充。

4、上傳數(shù)據(jù)的方式。? google:日歷是逐條上傳。? 我們:目前是批量上傳。? 建議:這里我們優(yōu)于google目前的方式,已經(jīng)比較優(yōu)化。

5、下載數(shù)據(jù)的方式。? google:日歷是通過分頁獲取方式。 我們:在獲取之前先通過一個propfind接口來拉取改變,然后再拉取相應(yīng)的數(shù)據(jù)。 建議:去掉拉取改變的接口,直接采取分頁拉取的方式。通過對比,下一步我們希望參考這個策略來做調(diào)整,已經(jīng)比google優(yōu)化或者差別不大的就不調(diào)整了,其他的也已經(jīng)在著手。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容