抖音的互联网架构分析
算法方向
机器审核+人工双重审核
第一步:双重审核
-
机器审核:一般是通过提前设置好的人工智能模型来识别你的视频画面和关键词,它主要有两个关键作用:
- 其一,审核作品、文案中是否存在违规行为,如果疑似存在,就会被机器拦截,通过飘黄、标红等提示人工注意;
- 其二,通过抽取视频中的画面、关键帧,与抖音大数据库中已存在的海量作品进行匹配消重,内容重复的作品进行低流量推荐,或者降权推荐(仅粉丝可见、仅自己可见)。
-
人工审核:主要集中在3块:视频标题、封面截图和视频关键帧。针对机器审核筛选出疑似违规作品,以及容易出现违规领域的作品,抖音审核人员进行逐个细致审核。如果确定违规,将根据违规抖音账号进行删除视频、降权通告、封禁账号等处罚。
第二步:冷启动
信息流漏斗算法,也是今日头条的核心算法。通过审核后,第一步叫冷启动流量池曝光,比如你今天上传一个视频,通过双重审核的作品,系统将会分配给你一个初始流量池:200-300在线用户(也可能有上千个曝光) 。不论你是不是大号,只要你有能力产出优质内容,就有机会跟大号竞争。
第三步:数据加权
抖音会根据这1000次曝光所产出的数据,结合你账号分值来分析是否给你加权,比如完播率、点赞、关注、评论、转发、转粉、游览深度等。
(点赞、评论、转发、点击率、完播率) 决定是否进行第二轮推荐及推荐力度。
即播放量=A完播率+B 点赞率+C* 评论率+D* 转发率
会对你的短视频数据造成影响,以及对你的短视频作出是否要加权的判断,比如会挑选前10%的视频,再增加1万次曝光。
也就是说,如果我们想让自己的视频火起来,那么就应该提高完播率、点赞率、评论率、转发率。
系统方向
字节跳动使用了分布式文件系统(DFS)来存储大量的视频数据,使用MySQL、MongoDB等数据库来存储元数据,例如用户信息、视频信息等。分布式文件系统可以高效地存储和管理大量的视频数据,而关系型数据库和非关系型数据库则分别用于存储结构化和非结构化数据。
数据库方向
图数据库对于同样的工作量,它的反应是通过这个图上的遍历(traversal)去实现的,操作更加高效。而字节跳动内部也是设计了ByteGraph图数据库.ByteGraph在单机上是拥有百万级QPS的查询性能,并且同时支持了多维度的排序.sql查询语言方面,ByteGraph图数据库使用了Gremlin图灵语言.ByteGraph图数据库i系统架构分为查询引擎层、存储引擎层,磁盘存储层三层.
ByteGraph图数据库解决了全局索引,热点读写和离线在线数据流融合三大问题.
总结
今天,我们从数据库,应用框架和算法设计三个方面具体分析了抖音内部互联网架构,简单认识了抖音的运行原理,这为之后的项目设计提供巨大帮助.