騰訊社交LBS服務(wù)技術(shù)要點(diǎn)解讀
“如何在激烈的移動社交市場競爭中脫穎而出?”這是當(dāng)前移動社交應(yīng)用領(lǐng)域眾多開發(fā)者們所面臨的現(xiàn)實問題。在產(chǎn)品功能特性同質(zhì)化越來越嚴(yán)重的形勢下,動用最小的研發(fā)資源實現(xiàn)“附近的人”,進(jìn)而將更多的團(tuán)隊資源投入到產(chǎn)品創(chuàng)新,是大家的深層訴求。
據(jù)了解騰訊云分析(mta.qq.com)近日推出的“社交LBS”SDK服務(wù),其覆蓋Android和iOS兩大主流平臺,所有功能免費(fèi)。開發(fā)者只需花10分鐘集成SDK之后,便可無視各項復(fù)雜的技術(shù)挑戰(zhàn),輕松實現(xiàn)“附近的人”。
騰訊社交LBS提供何種服務(wù)?
首先,社交LBS服務(wù)主要圍繞實現(xiàn)“附近的人”,以及與之相關(guān)的路徑軌跡、授權(quán)分享等功能,為開發(fā)者提供快速有效的管理自己App產(chǎn)品用戶群在基于地理位置的社交關(guān)系鏈的能力。它不僅提供了如:時間、地理圍欄等固定條件維度的管理和查詢,還支持APP產(chǎn)品自身的自定義業(yè)務(wù)維度。同時,據(jù)悉該團(tuán)隊在多年海量數(shù)據(jù)挖掘分析的基礎(chǔ)上,幫助開發(fā)者構(gòu)建自己的用戶畫像體系,如下圖:
這套用戶畫像體系是一個海量數(shù)據(jù)存儲和實時計算集群平臺,支持上億級別的用戶毫秒級別查詢,滿足大并發(fā)用戶請求,保證系統(tǒng)高效可用。換句話說,社交LBS是開發(fā)者可使用的免費(fèi)“關(guān)系鏈存儲和查詢”神器。
10年技術(shù)沉淀,只為助力開發(fā)者成功
騰訊云分析團(tuán)隊,歷經(jīng)10年的技術(shù)沉淀,先后成功打造騰訊內(nèi)部“點(diǎn)擊流”平臺、騰訊分析(ta.qq.com)、騰訊移動分析(mta.qq.com)以及騰訊信鴿移動推送(xg.qq.com),在互聯(lián)網(wǎng)海量服務(wù)下的網(wǎng)絡(luò)通信、數(shù)據(jù)傳輸、數(shù)據(jù)處理以及技術(shù)運(yùn)維等方面積累了豐富的經(jīng)驗。借助上述平臺產(chǎn)品,將騰訊優(yōu)秀的技術(shù)及運(yùn)營經(jīng)驗分享出來,助力行業(yè)開發(fā)者成功。
一、終端: 我們從基礎(chǔ)組件、功能模塊、業(yè)務(wù)集成、層層深入,如圖:
1) 網(wǎng)絡(luò)層面:DNS緩存的優(yōu)化;云端控制就近接入解決跨運(yùn)營商的難題;針對手機(jī)硬件性能高低,安卓系統(tǒng)版本動態(tài)調(diào)整的網(wǎng)絡(luò)連接超時,緩存,處理線程數(shù)等參數(shù);針對所有2G/3G/4G/WAP和WIFI網(wǎng)絡(luò)提供***路由選擇和***重連策略;針對手機(jī)信號的強(qiáng)弱變化,動態(tài)調(diào)整發(fā)包MSS大小;TCP,Http雙通道,進(jìn)一步解決復(fù)雜網(wǎng)絡(luò)環(huán)境,保證不丟包;針對TCP加快了SOCKET連接回收,采用跟帶寬相關(guān)的擁塞算法,采用尾部優(yōu)化減少重傳;圖片,語音根據(jù)網(wǎng)絡(luò)實際情況動態(tài)調(diào)整分片大小,類似TCP擁塞管理,挖掘帶寬的***利用率;圖片,語音還支持?jǐn)帱c(diǎn)續(xù)傳,續(xù)傳時可快速恢復(fù)原來狀態(tài),真正做到斷點(diǎn)續(xù)傳和秒傳的目的。
2) 電量流量:單通道,一臺設(shè)備上的所有接入雙向通信的APP共享同一數(shù)據(jù)通道,通過動態(tài)心跳保持與后臺的長連接,既省電省流量又提升抵達(dá)率。
3) 通訊協(xié)議:采用高度定制的私有協(xié)議:小包頭,高擴(kuò)展,保證每次都盡可能傳輸***的數(shù)據(jù)段,大幅減少通訊消耗的流量。
二、后臺:我們從CPU、驅(qū)動、內(nèi)核、協(xié)議棧層層優(yōu)化,如圖:
1) 十億級別長連接之接入系統(tǒng):8G內(nèi)存單機(jī)支撐260w連接,
通過對Linux內(nèi)核協(xié)議棧中socket數(shù)據(jù)結(jié)構(gòu)的優(yōu)化,使得每個TCP長連接耗費(fèi)內(nèi)核態(tài)內(nèi)存僅為3KB。
2) 千萬億并發(fā)數(shù)據(jù)之分發(fā)系統(tǒng)(C10M):我們的思想就是將控制層留給Linux做,其它數(shù)據(jù)層全部由應(yīng)用程序來處理。沒有線程調(diào)度、沒有系統(tǒng)調(diào)用、沒有中斷等,將程序仍運(yùn)行在Linux用戶空間,并僅僅對數(shù)據(jù)進(jìn)行高效的分析和處理。網(wǎng)卡:摒棄Linux內(nèi)核協(xié)議棧,使用Intel DPDK來自己實現(xiàn)驅(qū)動; CPU:使用多核編程技術(shù)替代多線程,將OS綁在指定核上運(yùn)行。
3) 層層加固之安全系統(tǒng):每種通道都使用SSL通信;雙向通信要求雙向認(rèn)證,公鑰在上傳時使用HTTPS協(xié)議,防止公鑰被截獲篡改,私鑰保存在開發(fā)者手中;APP用戶證書在用戶登錄APP時,APP后臺驗證用戶登錄成功后,使用APP私鑰對用戶ID進(jìn)行加密和簽名,生成一個證書,并隨登錄Response返回證書和用戶ID;本地數(shù)據(jù)使用動態(tài)KEY加密,KEY由云端下發(fā)。
開放的平臺,等待你的參與
對于廣大開發(fā)者來講,最珍貴的莫過于開發(fā)時間和成本了。而集成了該社交法寶之后,簡單敲入幾行代碼,輕松實現(xiàn)基于地理位置信息的用戶多維查詢管理,屏蔽諸多的技術(shù)細(xì)節(jié)和復(fù)雜環(huán)境,大大提升開發(fā)效率。
據(jù)騰訊云分析產(chǎn)品負(fù)責(zé)人透露,目前已覆蓋全球22億設(shè)備,同時為60萬APP提供技術(shù)服務(wù),對于廣大開發(fā)者來講,在***程度上為他們節(jié)省了開發(fā)時間和成本。
這只是起步,開放的平臺,等待你的參與。
了解詳情請咨詢QQ群: 471944841, 或官網(wǎng)http://mta.qq.com/ 。