今日头条创立于2012年3月,到目前仅 6 年时间。从十几个工程师开始研发,到上百人,再到200余人。产品线由内涵段子,到今日头条,今日特卖,今日电影等产品线。一、产品背景

今日头条是为用户提供个性化资讯客户端。下面就和大家分享一下当前今日头条的数据(据内部与公开数据综合):

5亿注册用户

2014年5月1.5亿,2015年5月3亿,2016年5月份为5亿。几乎为成倍增长。

日活4800万用户

2014年为1000万日活,2015年为3000万日活。

日均5亿PV

5亿文章浏览,视频为1亿。页面请求量超过30亿次。

用户停留时长超过65分钟以上

二、技术与架构演进

1、文章抓取与分析

我们日常产生原创新闻在1万篇左右,包括各大新闻网站和地方站,另外还有一些小说,博客等文章。这些对于工程师来讲,写个Crawler并非困难的事。

接下来,今日头条会用人工方式对敏感文章进行审核过滤。此外,今日头条头条号目前也有为数不少的原创文章加入到了内容遴选队列中。

接下来我们会对文章进行文本分析,比如分类,标签、主题抽取,按文章或新闻所在地区,热度,权重等计算。

2、用户建模

当用户开始使用今日头条后,对用户动作的日志进行实时分析。使用的工具如下:

- Scribe

- Flume

- Kafka

对用户的兴趣进行挖掘,会对用户的每个动作进行学习。主要使用:

- Hadoop

- Storm

产生的用户模型数据和大部分架构一样,保存在MySQL/MongoDB(读写分离)以及Memcache/Redis中。

随着用户量的不断扩展大,用户模型处理的机器集群数量较大。2015年前为7000台左右。其中,用户推荐模型包括以下维度:

1 用户订阅

2 标签

3 部分文章打散推送

此时,需要每时每刻做推荐。

3、新用户的“冷启动”

今日头条会通过用户使用的手机,操作系统,版本等“识别”。另外,比如用户通过社交帐号登录,如新浪微博,头条会对其好友,粉丝,微博内容及转发、评论等维度进行对用户做初步“画像”。

分析用户的主要参数如下:

- 关注、粉丝关系

- 关系

- 用户标签

除了手机硬件,今日头条还会对用户安装的APP进行分析。例如机型和APP结合分析,用小米,用三星的和用苹果的不同,另外还有用户浏览器的书签。头条会实时捕捉用户对APP频道的动作。另外还包括用户订阅的频道,比如电影,段子,商品等。

这里推荐一下我的JAVA架构学习交流群:614478470 ,想要学习Java高架构、分布式架构、高可扩展、高性能、高并发、性能优化、Spring boot、Redis、ActiveMQ、Nginx、Mycat、Netty、Jvm大型分布式项目实战学习架构师视频都有整理,送给每一位JAVA小伙伴,有想学习JAVA架构的,或是转行,还有工作中想提升自己能力的,正在学习的小伙伴欢迎加入学习。

4、推荐系统

推荐系统,也称推荐引擎。它是今日头条技术架构的核心部分。包括自动推荐与半自动推荐系统两种类型:

1 自动推荐系统

- 自动候选

- 自动匹配用户,如用户地址定位,抽取用户信息

- 自动生成推送任务

这时需要高效率,大并发的推送系统,上亿的用户都要收到。

2 半自动推荐系统

- 自动选择候选文章

- 根据用户站内外动作

头条的频道,在技术侧划分的包括分类频道、兴趣标签频道、关键词频道、文本分析等,这些都分成相对独立的开发团队。目前已经有300+个分类器,仍在不断增加新的用户模型,原来的用户模型不用撤消,仍然发挥作用。

在还没有推出头条号时,内容主要是抓取其它平台的文章,然后去重,一年几百万级,并不太大。主要是用户动作日志收集,兴趣收集,用户模型收集。

资讯App的技术指标,比如屏幕滑动,用户是不是对一篇都看完,停留时间等都需要我们特别关注。

5、数据存储

今日头条使用MySQL或Mongo持久化存储+Memched(Redis),分了很多库(一个大内存库),亦尝试使用了SSD的产品。

今日头条的图片存储,直接放在数据库中,分布式保存文件,读取的时候采用CDN。

6、消息推送

消息推送,对于用户: 及时获取信息。对运营来讲,能够 提⾼⽤用户活跃度。比如在今日头条推送后能够提升20%左右的DAU,如果没有推送,会影响10%左右 DAU(2015年数据)。

推送后要关注的ROI:点击率,点击量。能够监测到App卸载和推送禁用数量。

今日头条推送的主要内容包括突发与热点咨讯,有人评论回复,站外好友注册加入。

在头条,推送也是个性化:

- 频率个性化

- 内容个性化

- 地域

- 兴趣

比如:

按照城市:辽宁朝阳发生的某个新闻事件,发给朝阳本地的用户。

按照兴趣:比如京东收购一号店,发给互联网兴趣的用户。

推送平台的工具和选择,需要具备如下的标准:

- 通道,首先速度要快,但是要可控,可靠,并且节省资源

- 推送的速度要快,有不同维度的策略支持,可跟踪,开发接口要友好

- 推送运营的后台,反馈也要快,包括时效性,热度,工具操作方便

- 对于运营侧,清晰是否确定推荐,包括推送的文案处理

因此,推送后台应该提供日报,完整的数据后台,提供A/B Test方案支持。

推送系统一部分使用自有IDC,在发送量特别大,消耗带宽较严重。可以使用类似阿里云的服务,可有效节省成本。

7、延展思考

现在很多客户端都会需要推荐技术,比如电商、旅游类的商品推荐,也可以有娱乐头条、健康头条、体育头条等类似的应用,这些产品在技术侧的实现,包括用户,模型,数据都是相通的。

今日头条 mysql_今日头条的核心技术细节是什么?相关推荐

  1. 土木工程转专业,上岸趣头条、今日头条后端开发,学习历程分享

    学习群小伙伴的学习面试经历,在去年刚转专业开始学习的时候给到他路线和学习过程中的帮助,所以他在学习过程中基本没走弯路,执行力也很强.里面提到的很多学习上的点也是我在文章中一直反复强调的,其他同学可以借 ...

  2. 今日头条自媒体运营推广视频教程学习资料短视频运营从零到精通 今日头条趣东方头条凤凰新浪看点网...

    今日头条自媒体运营推广视频教程学习资料短视频运营从零到精通 今日头条趣东方头条凤凰新浪看点网易企鹅UC大鱼一点资讯自媒体快传视频处理软件 今日头条推广视频教程自媒体推广短视频教程今日头条引流小白入门 ...

  3. 今日头条告今日油条赔 200 万,各大公司表示不服

    作者 | B哥 来源 | BAT(ID:batfun) 互联网圈的瓜总是出其不意. 去年一家卖油条的蹭上今日头条,开了家早餐店叫今日油条.不出意料,今日头条把今日油条给告了,索赔200万. 今日头条. ...

  4. python 今日头条 微头条_今日头条微头条范文-头条号的微头条你们都发些什么,该如何写?...

    头条号的微头条你们都发些什么,该如何写? 心灵相约头条号.呼唤着,努力着,拼搏着,它属于努力地人们,是传播正能量的家园.今天起要根扎头条号,写出优秀地原创作品.头条号的朋友们努力吧!用心血和汗水浇灌头 ...

  5. 今日头条起诉今日油条!后者还注册了“饼多多”和“快手抓饼”

    点击上方蓝色小字,关注"涛哥聊Python" 重磅干货,第一时间送达 来源:扩展迷EXTFANS 继"阿京腾百"商标"碰瓷"多家互联网大厂后 ...

  6. 今日头条、UC头条(大鱼号)、企鹅号文章分类、推送、拉取业务实现及接口api说明文档

    简要描述: 基于今日头条.UC头条.企鹅号文章等(后续会继续增加接入平台)提供的文章,通过web服务接口,采集临时存储至服务器,服务器对数据进行分类.筛选后进行分发,目前只提供主要接口请求,主动推送功 ...

  7. 今日头条和今日头条极速版究竟有什么区别

    首先,今日头条和今日头条极速版都是字节跳动公司旗下的产品.两款产品都可以看视频.看新闻.最大的区别就在于:出发点不同,针对人群不同. 一.今日头条APP 今日头条APP(以下简称头条),它的主要出发点 ...

  8. 汇聚全球200多颗在轨遥感卫星,今日影像,今日推送!

    每一次火箭升空.卫星发射都能引起全国人民的关注,那你可曾想过,有朝一日每个人都能召唤卫星为自己服务? 1月5日,中科星图旗下全资子公司星图地球发布GEOVIS Earth系列新产品--星图地球今日影像 ...

  9. 鲲鹏服务器芯片股市号码,鲲鹏芯片概念股大全! 鲲鹏芯片概念股大全! 今日短线数据 今日涨跌情况:涨停数53家,跌停数0家,涨跌比1746:1721,封板率:67.9%... - 雪球...

    来源:雪球App,作者: 好好学生李,(https://xueqiu.com/5732644748/132625658) 鲲鹏芯片概念股大全! 今日短线数据 今日涨跌情况:涨停数53家,跌停数0家,涨 ...

最新文章

  1. 设立『自动驾驶虚拟仿真赛道』
  2. 微软创立全新人工智能实验室,与DeepMind、OpenAI同台竞技
  3. logistic 回归_具有Logistic回归的优秀初学者项目
  4. 不等距双杆模型_搜索中的深度匹配模型(下)
  5. raster | R中的栅格操作符(下)[翻译]
  6. HBase配置(伪分布式模式)
  7. 【学术篇】SDOI2008 仪仗队
  8. JavaScript学习(九十一)—二维数组的基本操作
  9. 将VS2010的工程转换为VS2005,即用VS2005打开
  10. Spring 注解的原理
  11. 《我这一辈子》 老舍 著
  12. Unity人物残影实现
  13. 小米扫地机器人粉尘盒_小米扫地机器人尘盒怎么打开
  14. 九龙证券|美国散户疯狂抄底,嗅到了什么?华尔街最新警告
  15. String字符串截取几种方法
  16. 由Nginx源码写双向循环链表
  17. part实现实现单个(上传图片和文件上传)
  18. 网页基础(九)选择器
  19. 专访星陀资本合伙人秦毅:秉持理性投资之道,着眼于技术应用层
  20. Mysql5.1 , Mysql5.5, Mysql5.7, Mysql8.0各个版本性能对比

热门文章

  1. Halcon例程学习之距离变换(distance_transform)
  2. 一文说透WordPress的自定义文章类型
  3. 使用Node.js制作爬虫教程
  4. ios判断当前设备类型
  5. 用递归解决冒泡排序问题
  6. 华为网络技术培训笔记之常用网络工具(一)
  7. 热评一箩筐——《******技术宝典》
  8. [转]一个叫你看过后感动想哭的对白
  9. 合沟微服务怎么添加_微服务架构:动态配置中心搭建
  10. php如何查看openssl扩展安装成功,php如何安装openssl扩展