成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

微信產(chǎn)品經(jīng)理面試題:朋友圈是如何設(shè)置信息圍欄的?

移動開發(fā) 移動應(yīng)用
而在權(quán)限管理上,微信采用了給用戶打「標(biāo)簽」來進行分組,這個標(biāo)簽的分組與微信通訊錄一致。在數(shù)據(jù)上,就是給每個關(guān)系增加一個「標(biāo)簽」標(biāo)記。這里需要注意的是,雖然微信的關(guān)系在產(chǎn)品使用上給用戶是雙向的(即互相關(guān)注),但是在存儲的時候,是給互相關(guān)的兩個用戶分別建立了關(guān)系數(shù)據(jù),也就是每個人獨有自己的一份「通訊錄」。這通過刪除了自己的好友之后,自己并不從別人的通訊錄刪除就可以看得出來。標(biāo)簽分組的基礎(chǔ)數(shù)據(jù)就是這樣了,這也是后面朋友圈權(quán)限管理的基礎(chǔ)。

 

 

 

而在權(quán)限管理上,微信采用了給用戶打「標(biāo)簽」來進行分組,這個標(biāo)簽的分組與微信通訊錄一致。在數(shù)據(jù)上,就是給每個關(guān)系增加一個「標(biāo)簽」標(biāo)記。這里需要注意的是,雖然微信的關(guān)系在產(chǎn)品使用上給用戶是雙向的(即互相關(guān)注),但是在存儲的時候,是給互相關(guān)的兩個用戶分別建立了關(guān)系數(shù)據(jù),也就是每個人獨有自己的一份「通訊錄」。這通過刪除了自己的好友之后,自己并不從別人的通訊錄刪除就可以看得出來。標(biāo)簽分組的基礎(chǔ)數(shù)據(jù)就是這樣了,這也是后面朋友圈權(quán)限管理的基礎(chǔ)。

對于個人朋友圈 timeline 所能看到的消息,按照一般的邏輯是先獲取所有朋友的消息,然后剔除掉沒有授權(quán)給自己看的消息、剔除掉自己屏蔽的用戶消息,然后才得到自己當(dāng)前看到的 timeline。如果是這樣的邏輯的話,等于每次刷新朋友圈,都要跑到所有的消息池里面去找到上述通訊錄中朋友們的消息,還要對找到的每條消息去判斷用戶是否有權(quán)限閱讀。這顯然是效率低下的方式,更何況微信是這么大的一個訪問量和數(shù)據(jù)量。所以,這種數(shù)據(jù)結(jié)構(gòu)設(shè)計是行不通的了。

一般邏輯下朋友圈每次讀取的過程

利用零散時間進行關(guān)系計算

解決這種性能問題一般的思路就是把需要大計算量的過程分散到平時零散的時間去做。在這里的思路就是:平時就把每個用戶需要的 timeline 數(shù)據(jù)按照權(quán)限設(shè)置準(zhǔn)備好,等到用的時候(刷新朋友圈)就直接讀取準(zhǔn)備好的內(nèi)容。那么答案就出來了:除了存儲一份上面講到的文字,圖片等基本信息外,還需要給每個用戶存儲一份 timeline 數(shù)據(jù),注意,是每個用戶一份。當(dāng)然,這里的「每份」不需要存儲完整信息,只需要存儲消息的 ID 和時間(可能需要)。每個人刷新自己的朋友圈時,讀取自己的那份數(shù)據(jù)就行了,既不用去消息池子里面篩選,也不用判斷用戶權(quán)限。

那是怎么實現(xiàn)權(quán)限控制呢?

新消息產(chǎn)生新權(quán)限

當(dāng)一個用戶發(fā)布一條消息時會按照上面講的標(biāo)簽設(shè)置相關(guān)的權(quán)限,服務(wù)器就會給每個有權(quán)限接收這條消息的用戶的 timeline 中寫入這條消息。也就是在用戶發(fā)布的這一刻,就做好了權(quán)限安排,而不是等到讀取的時候。這樣就自然減少了讀取的時候的計算量,提高了效率。

發(fā)布時進行權(quán)限控制(示意圖,實際比這復(fù)雜)

至于分庫分表這些就不展開了,知道有這么回事就行。有時候這種技術(shù)上的設(shè)計也是會限制產(chǎn)品的設(shè)計。

那怎么證明上面說的合理呢?

感興趣的同學(xué)可以去測試下:先發(fā)一條帶閱讀權(quán)限的消息,比如允許某個標(biāo)簽的人看。然后再給這個標(biāo)簽添加一個新人。結(jié)果是這個新人是看不到這條消息的,因為權(quán)限劃分是在發(fā)布的時候就劃分好了,新人加入標(biāo)簽的時間是在發(fā)布之后,所以沒法獲得這條消息的權(quán)限分配機會,雖然他后來在標(biāo)簽組中,但是仍然沒有辦法看到這條消息。

作為一個微信設(shè)計的旁觀者,以上答案是作為一個用戶從系統(tǒng)分析的角度去考慮的,并不代表微信確實是這樣的一個設(shè)計思路,但答案中的方案已經(jīng)盡可能做到了可以驗證。答案中也沒有涉及到具體的技術(shù),僅僅是一個系統(tǒng)分析的思路。

責(zé)任編輯:閆佳明 來源: geekpark
相關(guān)推薦

2013-11-06 14:25:30

微信朋友圈

2023-03-09 07:29:28

微信朋友圈架構(gòu)

2020-03-13 13:19:28

微信廣告隱私

2021-08-14 23:23:49

ios微信朋友圈

2014-12-26 10:01:04

架構(gòu)

2016-02-25 10:59:59

開發(fā)者產(chǎn)品經(jīng)理溝通

2019-12-24 13:00:03

微信朋友圈移動應(yīng)用

2013-04-12 03:40:53

微信開放平臺朋友圈

2021-06-23 10:24:06

微信macOS移動應(yīng)用

2013-12-06 16:39:56

2021-11-19 09:48:33

鴻蒙HarmonyOS應(yīng)用

2013-11-29 11:46:49

微信朋友圈朋友圈生意淘寶

2022-01-27 07:40:27

iOS微信朋友圈

2021-03-11 22:23:46

微信Mac版朋友圈

2022-01-12 21:00:08

微信安卓騰訊

2020-11-05 14:26:43

微信朋友圏7.0.18

2021-03-31 06:05:08

微信朋友圈騰訊

2021-11-04 09:55:50

鴻蒙HarmonyOS應(yīng)用

2015-02-09 14:40:49

QQ瀏覽器微信

2021-03-13 07:59:56

微信朋友圈騰訊
點贊
收藏

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

主站蜘蛛池模板: 亚洲系列第一页 | 欧美成人a| 欧美午夜久久 | 午夜天堂| 日韩精品一区在线观看 | 久热国产在线 | 日韩中文字幕久久 | 久久亚洲欧美日韩精品专区 | www.日韩av.com| 精品国产欧美一区二区三区成人 | 男女视频免费 | 欧美精选一区二区 | 自拍偷拍中文字幕 | 亚洲欧美一区二区三区在线 | 国产精品一区在线观看 | 久久久夜夜夜 | 久久精品小视频 | 日本久久福利 | 亚洲精品成人免费 | 精品欧美乱码久久久久久 | 欧美2区| 真人女人一级毛片免费播放 | 一区二区视频在线 | 51ⅴ精品国产91久久久久久 | 国产99久久精品一区二区永久免费 | 九九国产在线观看 | 久久久一区二区三区四区 | 久久躁日日躁aaaaxxxx | 成人亚洲网 | 超碰人人91 | 国产成人在线视频播放 | 国产成人精品一区二区三区视频 | 久久精品久久久久久 | 国产一区h| 在线观看黄视频 | av中文字幕在线 | 成人不卡一区二区 | 一区二区三区不卡视频 | 中文字幕11页 | 欧美黑人体内she精在线观看 | 久久只有精品 |