自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

TalkingData馬驥: 地圖可視化Client Service架構(gòu)設(shè)計(jì)及實(shí)踐

原創(chuàng)
新聞 開(kāi)發(fā)工具
TalkingData已經(jīng)積累了30多億移動(dòng)開(kāi)發(fā)數(shù)據(jù),我們的產(chǎn)品主要圍繞三方向:一是面向于開(kāi)發(fā)者服務(wù),二是應(yīng)用統(tǒng)計(jì)分析、三是廣告監(jiān)測(cè)。TalkingData公司總部設(shè)在北京,在上海有研發(fā)中心,深圳有一個(gè)辦事處。此外,還在國(guó)外設(shè)置了一些分資機(jī)構(gòu)。

  【51CTO.com原創(chuàng)稿件】在WOT2016移動(dòng)互聯(lián)網(wǎng)技術(shù)峰會(huì)平臺(tái)技術(shù)專(zhuān)場(chǎng),TalkingData 研發(fā)副總裁馬驥先生給我們帶來(lái)了《地圖可視化Client Service架構(gòu)設(shè)計(jì)及實(shí)踐》的精彩演講,與參會(huì)的朋友共同分享了地圖在大數(shù)據(jù)領(lǐng)域當(dāng)中的應(yīng)用和如何通過(guò)數(shù)據(jù)可視化進(jìn)行數(shù)據(jù)挖掘、探索以及數(shù)據(jù)決策等精彩內(nèi)容。

  TalkingData成立于2012年,目前已經(jīng)進(jìn)行了 C輪融資,并正在啟動(dòng)D輪融資。截止到現(xiàn)在, TalkingData已經(jīng)積累了30多億移動(dòng)開(kāi)發(fā)數(shù)據(jù),我們的產(chǎn)品主要圍繞三方向:一是面向于開(kāi)發(fā)者服務(wù),二是應(yīng)用統(tǒng)計(jì)分析、三是廣告監(jiān)測(cè)。TalkingData公司總部設(shè)在北京,在上海有研發(fā)中心,深圳有一個(gè)辦事處。此外,還在國(guó)外設(shè)置了一些分資機(jī)構(gòu)。

  談到當(dāng)前的數(shù)據(jù)市場(chǎng),馬驥先生認(rèn)為,當(dāng)前數(shù)據(jù)體量積累了大約有30億設(shè)備,日活2.5億,月活6.5億,每天吞吐能力大約14T,交互會(huì)話(huà)34億,處理事件300多億。WIFI數(shù)據(jù)覆蓋了80個(gè)城市,3000多個(gè)商場(chǎng),WIFI指紋有400多萬(wàn),POI數(shù)據(jù)是4200萬(wàn)。另外,圍繞這些數(shù)據(jù)有各種標(biāo)簽800多個(gè)。他表示,在大數(shù)據(jù)時(shí)代地圖的發(fā)展出現(xiàn)了一些瓶頸,如何解決地圖在大數(shù)據(jù)領(lǐng)域中的使用是一個(gè)非常重要的課題。

  針對(duì)這一課題,TalkingData公司研發(fā)出一套完整的解決方案。首先,是繪制引擎TD Seagull,因?yàn)榈貓D數(shù)據(jù)和PVI數(shù)據(jù)對(duì)于任何一家公司都是很有價(jià)值的,需要各種保護(hù)、防破解,我們同樣采用這樣的方案,把加密數(shù)據(jù)拿過(guò)來(lái),前端解密。另外,如何把數(shù)據(jù)壓縮更小,有一套壓縮算法解開(kāi)。

  在Client端和Server端,500萬(wàn)數(shù)據(jù)放到前端明顯完不成,肯定是前后配合做。解決辦法最重要的是這兩塊:***, 500萬(wàn)個(gè)點(diǎn)的數(shù)據(jù),在全國(guó)視野內(nèi)是否給5000個(gè)點(diǎn)就能把500萬(wàn)個(gè)點(diǎn)表示出來(lái),甚至給500個(gè)點(diǎn)是不是也能夠把上面的地圖表示出來(lái)。我們認(rèn)為,這完全是可以的,當(dāng)然把500萬(wàn)個(gè)點(diǎn)提取出5000個(gè)點(diǎn)或者500個(gè)點(diǎn),如何把特征點(diǎn)弄好,就要有數(shù)據(jù)聚合服務(wù)。第二,大量數(shù)據(jù)在放大之后很大全國(guó)的數(shù)據(jù)是沒(méi)有用的,在打開(kāi)地圖放大到一定級(jí)別后只顯示可視區(qū)內(nèi)或者需要繪制的數(shù)據(jù),返給前端是不是可以?答案是的,這是最重要的解決辦法。例如,用圍欄計(jì)算,畫(huà)一個(gè)圍欄,海淀區(qū)有多少數(shù)據(jù)需要計(jì)算。另外,大部分都是即時(shí)服務(wù),坐標(biāo)轉(zhuǎn)換,因此涉及到轉(zhuǎn)換有N多種坐標(biāo)體系。幾何計(jì)算如何判斷一個(gè)點(diǎn)是否在圍欄內(nèi),好像很簡(jiǎn)單,其實(shí)真的蠻復(fù)雜。500萬(wàn)個(gè)點(diǎn)如何判斷圍欄?本身有100個(gè)點(diǎn),這件事情很復(fù)雜。這個(gè)方案是后端到即時(shí)N多服務(wù),把數(shù)據(jù)提煉出來(lái),吐到前端,前端做解密、壓縮,通過(guò)地圖各種熱力圖API顯示出來(lái),這是我們最初的一套方案。

  當(dāng)然,在這套方案中我們也發(fā)現(xiàn)有幾個(gè)問(wèn)題:***個(gè)問(wèn)題是后端開(kāi)銷(xiāo)比較大,系統(tǒng)開(kāi)銷(xiāo)很大,計(jì)算能力對(duì)內(nèi)存、對(duì)CPU計(jì)算很大。另外,SLA性能,一個(gè)請(qǐng)求是否能在一秒內(nèi)把數(shù)據(jù)接口不是返回接口,而是返回到前端來(lái),系統(tǒng)是否能夠支撐。這就造成硬件投入比較多,但是有些行業(yè)客戶(hù)需求點(diǎn)很小,需要加一套即時(shí)服務(wù),對(duì)成本來(lái)說(shuō)有問(wèn)題,即時(shí)服務(wù)硬件投入很大 如何解決這個(gè)問(wèn)題?簡(jiǎn)單的辦法是前端能否有更多的事情,這是一個(gè)很正常的思維,如何把后端服務(wù)放到前端做,或者能否前后端協(xié)同做,這樣就降低了后端的技術(shù)復(fù)雜性。

  另外一個(gè)問(wèn)題是把后端服務(wù)拿了出來(lái),上移到前端客戶(hù)端瀏覽器。由于數(shù)據(jù)聚合瀏覽器完全可以做,圍欄計(jì)算、坐標(biāo)轉(zhuǎn)換,很多都試圖想要瀏覽器承擔(dān)減輕后端的服務(wù),甚至有些后端服務(wù)可以不做了或者少做點(diǎn)。

  TD Seagull面臨的挑戰(zhàn)主要來(lái)自幾個(gè)方面:***個(gè)方面是前端繪制,現(xiàn)在前端的解決方案還是很多的,不做細(xì)說(shuō)。第二個(gè)是Client端的問(wèn)題,大量數(shù)據(jù)導(dǎo)致整體地圖拖拽非常卡頓,甚至致使瀏覽器崩潰了。 Client繪制極限值能做多大,如果容器就是一萬(wàn)、幾千,沒(méi)什么可談的,如果能夠更大可能會(huì)更好,但是面臨的問(wèn)題也會(huì)很多,比如地圖拖拽一下或滑動(dòng)一下,可能都需要有N多計(jì)算。計(jì)算復(fù)雜度和算法邏輯,前端GS做地圖很有意思,真的有很多算法邏輯,但是導(dǎo)致的結(jié)果是這塊帶來(lái)的問(wèn)題也會(huì)比較多。前面是原因,后面是表象,這個(gè)表象對(duì)于用戶(hù)的體驗(yàn)很差,GS的執(zhí)行原理是單線(xiàn)程的,很容易有大量的計(jì)算在,執(zhí)行效率在,很容易堵塞后面腳本咨詢(xún),除了卡頓現(xiàn)象都是因?yàn)檫@種問(wèn)題導(dǎo)致的。

  既然把服務(wù)往上移,如何提升計(jì)算能力,成為處理架構(gòu)設(shè)計(jì)最核心的。前端經(jīng)過(guò)十幾年的發(fā)展,H5做了很多,大家也經(jīng)常提到MVC,為什么前端的M層很薄?甚至有的根本沒(méi)有M層?為什么前后端分離的標(biāo)準(zhǔn),前端是負(fù)責(zé)展現(xiàn)邏輯,后端負(fù)責(zé)業(yè)務(wù)邏輯?當(dāng)然,現(xiàn)在有些客戶(hù)端很多的業(yè)務(wù)邏輯逐漸往前移。但是,在計(jì)算能力方面,前端一直以來(lái)是弱的,原因很簡(jiǎn)單,既然是一個(gè)單線(xiàn)程的,意味著只能利用好一個(gè)CPU,現(xiàn)在手機(jī)都多核了,前端GS執(zhí)行沒(méi)有充分利用好CPU資源,可以得出這個(gè)結(jié)論。H5的發(fā)展各種解決方案出來(lái)了,做前端的已經(jīng)很清楚了。

  整個(gè)方案完成后,目前在整體計(jì)算能力方面有了很大的提高。圖中橫軸代表PUI個(gè)數(shù),是2000個(gè),扔到Worker里,返回是70毫秒,如果是5000個(gè)點(diǎn)100毫秒。一般情況下,3萬(wàn)個(gè)點(diǎn)500毫秒對(duì)于瀏覽器整個(gè)過(guò)程用戶(hù)體驗(yàn)非常不錯(cuò)。這個(gè)測(cè)試在電腦性能相對(duì)比較弱,如果好的電腦形成反饋更高。比如到10萬(wàn)個(gè)PVI計(jì)算達(dá)到了1.3秒,20萬(wàn)是2秒多?,F(xiàn)在整體已經(jīng)沒(méi)有峰值了,只是用戶(hù)是否可接受,做了Worker之后,另外一個(gè)問(wèn)題20萬(wàn)個(gè)點(diǎn)如何從服務(wù)器端跑到客戶(hù)端,這是另外一個(gè)事,至少可以看到Worker、多線(xiàn)程計(jì)算能力真的大大提升,在業(yè)務(wù)處理上沒(méi)有瓶頸了,現(xiàn)在可以放20萬(wàn)個(gè),其實(shí)30萬(wàn)也不會(huì)有什么問(wèn)題,只是是否能夠執(zhí)行完而已。

【51CTO原創(chuàng)稿件,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文作者和出處為51CTO.com】

責(zé)任編輯:張誠(chéng) 來(lái)源: 51CTO
相關(guān)推薦

2020-03-11 14:39:26

數(shù)據(jù)可視化地圖可視化地理信息

2016-09-08 10:23:19

TalkingData大數(shù)據(jù)

2014-01-17 10:36:39

2022-03-01 10:29:44

Kubernetes容器

2020-03-07 21:48:46

物聯(lián)網(wǎng)可視化技術(shù)設(shè)計(jì)

2017-09-05 08:35:09

Python可視化地圖

2017-09-01 19:49:50

Python工具地圖

2021-03-18 08:11:18

PythonDash工具

2015-10-29 09:36:48

2023-02-07 11:44:02

2014-06-20 15:00:57

數(shù)據(jù)可視化

2024-03-06 19:57:56

探索商家可視化

2009-06-22 14:48:21

DRY架構(gòu)設(shè)計(jì)

2022-06-29 08:28:58

數(shù)據(jù)可視化數(shù)據(jù)可視化平臺(tái)

2021-02-01 22:01:57

Coco工具macOS

2017-10-14 13:54:26

數(shù)據(jù)可視化數(shù)據(jù)信息可視化

2023-03-01 18:12:16

平臺(tái)架構(gòu)設(shè)計(jì)

2024-07-25 14:04:16

2020-07-22 10:30:54

數(shù)據(jù)可視化分析平臺(tái)分析工具
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)