最近優(yōu)化了通訊錄拉取的實現(xiàn)方式,對它進行整理。
創(chuàng)新互聯(lián)公司專注于企業(yè)成都全網營銷推廣、網站重做改版、長春網站定制設計、自適應品牌網站建設、H5頁面制作、成都做商城網站、集團公司官網建設、外貿網站建設、高端網站制作、響應式網頁設計等建站業(yè)務,價格優(yōu)惠性價比高,為長春等各大城市提供網站開發(fā)制作服務。通訊錄涉及用戶的關系鏈,用戶的具體數(shù)據(jù),包括頭像,昵稱,戰(zhàn)績,在線狀態(tài)等信息。
之前的實現(xiàn)方式如下:
統(tǒng)一的協(xié)議,定義TID字段,由客戶端填充具體的TID,來拉取用戶的信息,由于數(shù)據(jù)庫不屬于我們,客戶端又需要排序等信息,所以每次拉取,都必須全量拉取。
結果:
協(xié)議失敗率高,客戶端經常要等比較久的時間,才能拉取完整。消耗客戶端的流量,其中有很多不必要的信息,沒必要重復拉取。
優(yōu)化后的方式:
將協(xié)議一分為三,包括關系鏈信息,用戶的動態(tài)信息(經常變換的信息,如在線狀態(tài)),用戶的靜態(tài)信息(如昵稱,性別等)。
關系鏈信息,由于我們只有備份數(shù)據(jù)庫,所以無法完整的了解關系鏈的變化情況(增加,修改,可以通過時間戳了解,但是刪除好友,無法事實的知道。),所以,我們統(tǒng)一采用MD5值的方式進行比較。
用戶端請求上來,會帶上次的MD5值,服務器進行對比,如果MD5值有變化,則把新的關系鏈信息壓縮,傳送給客戶端。
動態(tài)信息,我們獲取用戶的在線狀態(tài),只返回在線的用戶數(shù)據(jù),因為離線的好友,肯定比在線的好友數(shù)量多,所以降低了拉取的數(shù)據(jù)。
靜態(tài)信息,客戶端隔一段時間定時拉取(目前是一天),除非用戶主動來拉取,不然不會有變化。
通過這個優(yōu)化,協(xié)議的成功率,提高了5%,還是蠻有成就感的。
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。