今日头条技术构架剖析
优采云 发布时间: 2020-08-19 07:23今日头条技术构架剖析
今日头条成立于2012年3月,到目前仅4年时间。从十几个工程师开始研制,到上千人,再到200余人。产品线由内涵段子,到明日头条,今日特卖,今日影片等产品线。
一、产品背景
今日头条是为用户提供个性化资讯客户端。下面就和你们分享一下当前明日头条的数据(据内部与公开数据综合):
1、文章抓取与剖析
我们日常形成原创新闻在1万篇左右,包括各大新闻网站和地方站,另外还有一些小说,博客等文章。这些对于工程师来讲,写个Crawler并非困难的事。
接下来,今日头条会用人工方法对敏感文章进行初审过滤。此外,今日头条头条号目前也有为数不少的原创文章加入到了内容选聘队列中。
接下来我们会对文章进行文本剖析,比如分类,标签、主题抽取,按文章或新闻所在地区,热度,权重等估算。
2、用户建模
当用户开始使用明日头条后,对用户动作的日志进行实时剖析。使用的工具如下:
产生的用户模型数据和大部分构架一样,保存在MySQL/MongoDB(读写分离)以及Memcache/Redis中。
随着用户量的不断扩充大,用户模型处理的机器集群数目较大。2015年前为7000台左右。其中,用户推荐模型包括以下维度:
此时,需要每时每刻做推荐。
3、新用户的“冷启动”
今日头条会通过用户使用的手机,操作系统,版本等“识别”。另外,比如用户通过社交账号登陆,如新浪微博,头条会对其好友,粉丝,微博内容及转发、评论等维度进行对用户做初步“画像”。
分析用户的主要参数如下:
除了手机硬件,今日头条都会对用户安装的APP进行剖析。例如型号和APP结合剖析,用魅族,用三星的和用苹果的不同,另外还有用户浏览器的书签。头条会实时捕捉用户对APP频道的动作。另外还包括用户订阅的频道,比如影片,段子,商品等。
4、推荐系统
推荐系统,也称推荐引擎。它是明日头条技术构架的核心部份。包括手动推荐与*敏*感*词*推荐系统两种类型:1) 自动推荐系统
这时须要高效率,大并发的推送系统,上亿的用户都要收到。
2)*敏*感*词*推荐系统
在还没有推出头条号时,内容主要是抓取其它平台的文章,然后去重,一年几百万级,并不太大。主要是用户动作日志搜集,兴趣搜集,用户模型搜集。
资讯App的技术指标,比如屏幕滑动,用户是不是对一篇都看完,停留时间等都须要我们非常关注
5、数据储存
今日头条使用MySQL或Mongo持久化存储+Memched(Redis),分了好多库(一个大显存库),亦尝试使用了SSD的产品。
今日头条的图片储存,直接置于数据库中,分布式保存文件,读取的时侯采用CDN。
逆锋起笔6、消息推送
消息推送,对于用户: 及时获取信息。对营运来讲,能够 提用户活跃度。
比如在明日头条推送后才能提高20%左右的DAU,如果没有推送,会影响10%左右 DAU(2015年数据)。
推送后要关注的ROI:点击率,点击量。能够检测到App卸载和推送禁用数目。