跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 视频网站的播放历史记录是怎么设计与存储的?(b 站、爱奇艺、腾讯视频什么的)
未分類
21 11 月 2020

视频网站的播放历史记录是怎么设计与存储的?(b 站、爱奇艺、腾讯视频什么的)

视频网站的播放历史记录是怎么设计与存储的?(b 站、爱奇艺、腾讯视频什么的)

資深大佬 : shhch 7

今天在 b 站看视频,感觉不太爽,就准备在电脑上看,手机刚关,然后在 pc 端播放历史里面点开了;

突然想到,这个历史记录的实时性还可以啊,应该是实时上报到服务器的;历史记录加载速度也挺快的;然后又看了下,历史记录大概存了 3 个月,以 b 站这个用户量,数据量也不少了;

比较好奇这部分是怎么设计的,有没有大佬一起讨论下?

大佬有話說 (8)

  • 資深大佬 : cincout

    这个并不是实时的,至少手机上不是,app 端是关闭当前播放页面,才会记录到历史记录里面

  • 資深大佬 : Anarchy

    就在退出页面,或熄屏的时候上报一次就够用了吧

  • 資深大佬 : chloelam101

    OTT 来说,我是做电视的,基本上在播放器所有行为都要上报 timeline,因为多端,会做本地一份,上报一份。如果再次进入有校正 timeline 的,总体来说要保证多端同步。本地的话,如果是电视的话,多数做一个暂存器,先进后出那样子。

  • 主 資深大佬 : shhch

    数据存储方面,b 站给出的日活是 5000w,假设平均每个用户每日观看 60 个视频,那么数据量 60*30*3*0.5 = 2700 亿;

    历史记录如果是传统数据库的话,这个数据量需要分库,用 user_id 和 timestamp 做一个联合索引应该就可以查到了;

    不过历史记录存在修改的情况,同一个视频可能会被再看一遍,时间戳会修改;

  • 主 資深大佬 : shhch

    还有上报到存储,这中间应该一些架构流程支撑上报的并发量

  • 資深大佬 : Nillouise

    这东西用 nosql 搞根本不是问题吧,又不需要事务。nosql 可以线性扩展机器,用户量都不是什么问题。

  • 主 資深大佬 : shhch

    @Nillouise nosql 选型是啥

  • 資深大佬 : eric96

    aws 的 dynamodb,支持 ttl,写入读取可扩展

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具