今日头条技术架构分析

Klocwork安装 简单介绍一下Klocwork在windows下的安装,操作系统是win7,Klocwork的版本是10.0。 第一步:由于Klocwork的安装程序已十分成熟,所以在安装之前不需要什么准备共走。双击Klocwork的安装包,会出现下图的安装引导界面,点击Next按钮。 第二步:下图是协议界面,点击Next按钮。 第三步:选择Klocwork的安装目录,点击Next按钮 第四步: 阅读详情
点击上方“开发者技术前线”,选择“星标”

13:21 在看|留言|真爱

640?wx_fmt=jpeg

  今日头条创立于2012年3月,到目前仅4年时间。从十几个工程师开始研发,到上百人,再到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频道的动作。另外还包括用户订阅的频道,比如电影,段子,商品等。
4、推荐系统
  推荐系统,也称推荐引擎。它是今日头条技术架构的核心部分。包括自动推荐与半自动推荐系统两种类型:
1) 自动推荐系统
  • 自动候选
  •  自动匹配用户,如用户地址定位,抽取用户信息
  •  自动生成推送任务

这时需要高效率,大并发的推送系统,上亿的用户都要收到。
2)半自动推荐系统
  •  自动选择候选文章
  •  根据用户站内外动作
  头条的频道,在技术侧划分的包括分类频道、兴趣标签频道、关键词频道、文本分析等,这些都分成相对独立的开发团队。目前已经有300+个分类器,仍在不断增加新的用户模型,原来的用户模型不用撤消,仍然发挥作用。
  在还没有推出头条号时,内容主要是抓取其它平台的文章,然后去重,一年几百万级,并不太大。主要是用户动作日志收集,兴趣收集,用户模型收集。
  资讯App的技术指标,比如屏幕滑动,用户是不是对一篇都看完,停留时间等都需要我们特别关注
640?wx_fmt=png
5、数据存储
  今日头条使用MySQL或Mongo持久化存储+Memched(Redis),分了很多库(一个大内存库),亦尝试使用了SSD的产品。
  今日头条的图片存储,直接放在数据库中,分布式保存文件,读取的时候采用CDN。
6、消息推送
  消息推送,对于用户: 及时获取信息。对运营来讲,能够 提⾼⽤用户活跃度。比如在今日头条推送后能够提升20%左右的DAU,如果没有推送,会影响10%左右 DAU(2015年数据)。
  推送后要关注的ROI:点击率,点击量。能够监测到App卸载和推送禁用数量。
  今日头条推送的主要内容包括突发与热点咨讯,有人评论回复,站外好友注册加入。
  在头条,推送也是个性化:
  •  频率个性化
  • 内容个性化
  •  地域
  •  兴趣
比如:
  按照城市:辽宁朝阳发生的某个新闻事件,发给朝阳本地的用户。
  按照兴趣:比如京东收购一号店,发给互联网兴趣的用户。
  推送平台的工具和选择,需要具备如下的标准:
  • 通道,首先速度要快,但是要可控,可靠,并且节省资源
  • 推送的速度要快,有不同维度的策略支持,可跟踪,开发接口要友好
  • 推送运营的后台,反馈也要快,包括时效性,热度,工具操作方便
  • 对于运营侧,清晰是否确定推荐,包括推送的文案处理
  因此,推送后台应该提供日报,完整的数据后台,提供A/B Test方案支持。
  推送系统一部分使用自有IDC,在发送量特别大,消耗带宽较严重。可以使用类似阿里云的服务,可有效节省成本。

二、今日头条系统架构

640?wx_fmt=jpeg
640?wx_fmt=jpeg
640?wx_fmt=jpeg640?wx_fmt=jpeg

三、头条微服务架构

  今日头条通过拆分子系统,大的应用拆成小应用,抽象通用层做代码复用。

640?wx_fmt=jpeg

系统的分层比较典型。重点在基础设施,希望通过基础设施提高快速迭代、容灾和一系列的工作,希望各个业务团队能更快做业务上的迭代以及架构上的调整。

四、今日头条的虚拟化PaaS平台规划

通过三层实现,通过 PaaS 平台统一管理。提供通用 SaaS 服务,同时提供通用的 App 执行引擎。最底层是 IaaS 层。
  IaaS 管理所有的机器,把公有云整合起来,头条有一些热点事件会全国推广推送,对网络带宽比较高,我们借助公有云,需要哪一种类型计算资源,统一抽象起来。基础设施结合服务化的思路,比如日志,监控等等功能,业务不需要关注细节就可以享受到基础设施提供的能力。

五、总结

今日头条重要的部分在于:
数据生成与采集
数据传输。Kafka做消息总线连接在线和离线系统。
数据入库。数据仓库、ETL(抽取转换加载)
数据计算。数据仓库中的数据表如何能被高效的查询很关键,因为这会直接关系到数据分析的效率。常见的查询引擎可以归到三个模式中,Batch 类、MPP 类、Cube 类,头条在 3 种模式上都有所应用。
链接:
https://blog.youkuaiyun.com/mucaoyx/article/details/84498468
版权申明:内容来源网络,版权归原创者所有。除非无法确认,我们都会标明作者及出处,如有侵权烦请告知,我们会立即删除并表示歉意。谢谢。
PS:后台回复 “666” 领取程序员大礼包哦640?wx_fmt=gif~

640?wx_fmt=gif
开发者技术前线 ,汇集技术前线快讯和关注行业趋势,大厂干货,是开发者经历和成长的优秀指南。
历史阅读






640?
640?wx_fmt=png
在看点一下


CDD数据库文件制作(二)——服务配置(0x27) 主要根据诊断调查表,针对0x27服务在CDD中的每一步配置给出详细介绍 1.会话切换配置 1.1.根据诊断调查表进行信息提取 1.2.子功能添加 1.2.1.Level1安全等级1创建 1.2.2.Level3安全等级3创建 1.2.3.安全等级名字查看与修改 1.3.会话切换信息提取(应用程序下) 1.4.会话转换配置(应用程序下) 1.5.会话切换信息提取(引导程序下) 1.6.会话转换配置(引导程序下) 2.安全等级配置信息提取 2.1.安全访问配置(level1) 2.2.安全访问配置(level2 阅读详情

相关推荐

机器人路径规划:基于冠豪猪优化算法(Crested Porcupine Optimizer,CPO)的机器人路径规划(提供MATLAB代码)

移动机器人(Mobile robot,MR)的路径规划是 移动机器人研究的重要分支之,是对其进行控制的基础。根据环境信息的已知程度不同,路径规划分为基于环境信息已知的全局路径规划和基于环境信息未知或局部已知的局部路径规划。随着科技的快速发展以及机器人的大量应用,人们对机器人的要求也越来越高,尤其表现在对机器人的智能化方面的要求,而机器人自主路径规划是实现机器人智能化的重要步骤,路径规划是指规划机器人从起点位置出发,无碰撞、安全到达指定目标位置的最优路径。

IT猿手 1367

今日头条架构师:头条1.2亿+日活的微服务和高可用架构实践!14页ppt详解

点击“技术领导力”关注∆每天早上8:30推送今日头条架构师,夏绪宏在技术大会上分享了头条的架构演进,老K结合大型互联网系统架构实践经验进行分析、整理...

技术领导力 6054

从零搭建企业网络:使用Packet Tracer模拟多区域OSPF组网全过程

本文通过Cisco Packet Tracer模拟,详细演示了从零搭建一个典型企业多区域OSPF网络的完整流程。内容涵盖网络拓扑规划、IP地址设计、多区域划分原理,并提供了从设备初始化、接口配置到OSPF多区域核心配置与验证的详细步骤。文章旨在帮助网络学习者与IT支持人员通过动手实验,将理论知识转化为实际的配置与排障能力。

day7的博客 1030

今日头条算法及技术架构分析

今日头条算法及技术架构分析 ​ ​  由于好奇,所以在网上搜索了大量的今日头条算法及技术架构文章,最后想进行一个总结。 ​  下面主要介绍今日头条推荐系统概览以及内容分析、用户标签、评估分析,内容安全等原理。 一、今日头条推荐算法原理及详解 1.系统概念 ​  推荐系统,如果用形式化的方式去描述实际上是拟合一个用户对内容满意度的函数,这个函数需要输入三个维度的变量。 ​ ​  推荐系统,如果用...

一直在努力的小渣渣 1万+

PYNQ-Z2 开发板从镜像烧录到 Jupyter 交互全流程指南

本文详细介绍了PYNQ-Z2开发板从镜像烧录到Jupyter交互的全流程指南,包括硬件解析、镜像烧录技巧、设备启动与网络配置、Jupyter Notebook深度使用以及实战案例分享。通过具体步骤和实用技巧,帮助开发者快速上手PYNQ-Z2开发板,实现高效的FPGA开发和智能家居控制应用。

weixin_28736355的博客 439

2025认证杯数学建模第二阶段B题完整论文(代码齐全):谣言在社交网络上的传播

这需要我们深入理解抽样检测所得的次品率的不确定性及其对生产决策的影响。对于问题二的决策分析,我们可将其细分为四个关键的决策节点,分别是零件 1 的质量检测、零件 2 的质量检测、成品的质量检测,以及成品检测不合格时的拆解处理。该策略的实施,保证了在算法迭代过程中,表现最为优异的个体能够得到保留,并顺利传递至下一代,从而保障了算法在寻求最优解过程中的收敛性和优化效果。因此,我们采用假设检验的方法,将次品分布构造成 t 分布,从而确定在相应置信度的条件下,抽样次数 n 和次品数 k 所需满足的要求。

2301_81596622的博客 1007

今日头条技术架构分析(1)

给大家分享一份移动架构大纲,包含了移动架构师需要掌握的所有的技术体系,大家可以对比一下自己不足或者欠缺的地方有方向的去学习提升;网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。需要这份系统化学习资料的朋友,可以戳这里获取一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

2401_84132544的博客 1568

第三方系统(异构系统)基于token身份认证方式访问Ecology9的Restful接口Ecology9服务器配置部分

通过Token的认证方式调用Ecology9系统Restful业务接口服务器配置部分

svsou的专栏 2175

今日头条架构演进之路

今天给大家分享今日头条架构演进,前面几位讲师讲了很多具体的干货,我的分享偏重基础设施及架构思路的介绍,我们想法是通过提供更好的基础设施,帮助架构做更好的迭代。 从架构的角度,技术团队应对的压力最主要来自三方面: 服务稳定性。接口的稳定性,让服务更可靠; 迭代速度。迭代速度对于大公司来讲相对没那么重要,规模比较大,生存压力相对小一点,但相对中型小型公司来讲,迭代速度是必须要保证的,时间

Enweitech Software Works 5427

图像标注神器:完全开源免费的多功能标注工具Labelme详解

Labelme是MIT开发的免费开源图像标注工具,支持多边形、矩形等多种标注类型,适用于目标检测、分割等计算机视觉任务。提供Windows可执行文件和Python安装两种方式,可输出JSON格式并转换为COCO等标准数据集。具有跨平台、功能全面、社区活跃等优势,能显著提升标注效率,是AI视觉项目的重要数据准备工具。

数字人生 528

YOLOv13优化Faster_Block:卷积(Partial Convolution)、多层感知机(MLP)结构和残差连接

Faster_Block 代表了现代深度学习中效率与性能平衡的一个典型案例。它通过部分卷积技术巧妙地减少了计算开销,同时通过精心设计的架构保持了强大的特征学习能力。这种设计思想对于移动端部署、实时应用和大规模模型训练都具有重要意义。 未来的发展方向可能包括更智能的动态分割策略、与新兴硬件的深度适配,以及与其他先进技术(如自注意力机制、神经架构搜索等)的结合。Faster_Block 的成功展示了在深度学习领域,创新往往来自于对问题本质的深刻理解和巧妙的工程实现。

FJN110的博客 427

详解今日头条技术架构分析

- 背景 -今日头条是为用户提供个性化资讯的客户端。下面就和大家分享一下今日头条的一些数据(据内部与公开数据综合):5亿注册用户;2014年5月1.5亿,2015年5月3亿,...

程序IT圈 1408

Python航空航天设计神器!从入门到实操,小白也能搞定飞机优化

AeroSandbox的核心价值的是:​降低航空工程优化的门槛,用Python实现高效、简洁的工程设计​。无论是科研、学习还是实际项目,它都能帮你节省大量时间,不用再手动推导导数、编写复杂的优化逻辑。对于新手来说,建议先从案例1(Rosenbrock函数)入手,熟悉优化流程,再尝试案例2(翼型优化),逐步掌握核心用法;对于有航空相关需求的小伙伴,可以深入研究内置的物理模型,结合自己的项目进行定制化开发。最后,互动时间到!👉 你是用AeroSandbox做科研、练手还是实际项目?

源代码杀手的博客 124
上一篇: 裸辞4个月,面试了30家公司,终于找到了理想的工作
下一篇: 为什么我抛弃了 Ubuntu?
DevolperFront
博客等级 码龄8年 464粉丝 81原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值