高频彩人为操控,Tera在百亿级实时搜索架构中的应用_互联网_IT/计算机_专业资料
高频彩人为操控高频彩人为操控,Tera在百亿级实时搜索架构中的应用
?齐志宏
2017.05
自我介绍 ?
齐志宏 ? ?? 现任大发快3技巧_快3交流群_漏洞-网页搜索基础架构&调研架构团队 技术经理 ? ?? 08-12年供职腾讯 ? ?? 12年10月加入大发快3技巧_快3交流群_漏洞-,从事搜索架构相关工作 ? ?? 调研架构 ? ?? 基础技术架构 ?
内容 ?
?? 搜索引擎架构 ? ?? Tera在实时搜索架构中的应用 ?
?? 链接存储 ? ?? 索引筛选 ? ?? 用户行为分析 ?
搜索架构 ?
连接人与信息 ? Web 连接人与服务 ? 搜索引擎 ? 抓取 ? (Spider) ? 检索系统 ?
索引构建 ?
搜索架构 ?
Web
连接人与信息 ? 连接人与服务 ? 搜索引擎 ?
Spider ?
抓取 ? 解析 ? 调度中心 ?
链接提取 ? 挖掘回灌 ? 属性计算 ? 调度 ?
检索系统 ?
网页库 ?
链接库 ?
索引构建 ?
搜索架构 ?
Web
连接人与信息 ? 连接人与服务 ? 搜索引擎 ?
Spider ?
抓取 ? 解析 ? 调度中心 ?
链接提取 ? 挖掘回灌 ? 属性计算 ? 调度 ?
检索系统 ?
网页库 ?
链接库 ?
索引筛选 ?
页面 特征 获取 ? 页面 价值 计算 ? 重复 度 ? 计算 ? 索引 价值 排序 ?
正排计算 ?
倒排计算 ?
索 ? 引 ? 构 ? 建 ?
搜索架构 ?
Web
连接人与信息 ? 连接人与服务 ? 搜索引擎 ?
Spider ?
抓取 ? 解析 ? 调度中心 ?
链接提取 ? 挖掘回灌 ? 属性计算 ? 调度 ?
检 ? 索 ? 系 ? 统 ?
展现层 ?
归并服务 ?
索引 ? 服务 ?
query 分析 ?
网页库 ?
链接库 ?
索引筛选 ?
页面 特征 获取 ? 页面 价值 计算 ? 重复 度 ? 计算 ? 索引 价值 排序 ?
正排计算 ?
倒排计算 ?
索 ? 引 ? 构 ? 建 ?
关于Tera ?
?? 什么是Tera ?
–? 大型分布式表格存储系统 ? –? 高性能、可伸缩的结构化存储 ? –? 用来管理搜索引擎万亿量级的超链与网页信息 ?
?? 应用规模 ?
–? 链接存储:10PB+,万亿次/天 ? –? 索引筛选:20PB+,万亿次/天 ? –? 用户行为分析:1PB+,百亿次/天 ?
内容 ?
?? 搜索引擎架构 ? ?? Tera在实时搜索架构中的应用 ?
?? 链接存储 ? ?? 索引筛选 ? ?? 用户行为分析 ?
Tera应用——链接存储 ?
?? 什么是链接存储 ?
–? 位于Spider架构中 ? –? 即链接库,以URL为KEY,存储了所有已抓取和待抓取的链接 ? –? 用于持续抓取 ?
Tera应用——链接存储 ?
?? 互联网爆发式的增长趋势 ?
大发快3技巧_快3交流群_漏洞-网页收录量 ?
收录量 ?
2008
?
2009
?
2010
?
2011
?
2012
?
2013
?
2014
?
2015
?
2016
?
Tera应用——链接存储 ?
?? Spider架构演进中的链接存储 ?
Spider ?3.0 ?链接存储 ? BigTable架构(基于Tera) ? 链接入库:实时读写 ? Spider ?2.0 ?链接存储 ? MapReduce架构 ? 链接入库:批量merge ?
Spider ?1.0 ?链接存储 ? 多机分环架构 ? 链接入库:分环merge ?
Tera应用——链接存储 ?
?? Spider架构的演进 ?
Web ? 抓取 ? 链接提取 ? 网页库 ?
调度 ?
入库 ?
链接库 ?
Tera应用——链接存储 ?
?? Spider架构的演进:Spider ?1.0 ?
–? 多机分环 ?
Cirlce ?0 ?
抓取 ? 链接 ? 提取 ?
分发 ?
网页库 ?
调度 ?
入库 ?
链接库 ?
……
……
……
Cirlce ?N ?
抓取 ? 链接 ? 提取 ? 调度 ? 入库 ? 链接库 ?
分发 ?
网页库 ?
Tera应用——链接存储 ?
?? Spider架构的演进:Spider ?2.0 ?
–? 基于HDFS+MR的Hadoop架构 ?
抓取 ? 页面解析 ? 链接提取 ?
url队列 ?
时间筛选 ?
调度 ?
入链接库 ?
分发 ?
分布式存储 ? ? ? ?HDFS ?
链接库 ?
网页库 ?
Tera应用——链接存储 ?
?? Hadoop架构下的问题 ?
–? 效率 ? ?? 1个链接从发现到选出 ?->3天? ? ?? 多轮MR带来的长尾效应 ? –? 资源浪费 ? ?? 重复计算:不必要的全量计算,导致计算资源浪费 ? –? 开发成本 ? ?? MR程序调试困难,不易追查 ?
Tera应用——链接存储 ?
?? Spider架构的演进 ?
–? Spider ?3.0 ? –? 基于Tera的实时架构 ?
挖掘回灌 ? 调度 ? 抓取 ?
更新预测 ?
Tera ? (链接库) ? (网页库) ?
页面解析 ?
页面类型 ? 计算 ?
页面价值 ? 计算 ?
Tera应用——链接存储 ?
?? Spider3.0实时架构的优势 ?
–? 数据容量 ?
?? 链接数量:千亿 ?-> ?万亿,总容量达到百PB ?
–? 访问性能 ?
?? 亿级QPS,每天访问万亿次 ?
–? 数据实时更新 ?
?? 链接实时入库,从抓取到入库的时延大幅缩减 ?
–? 策略实时生效 ?
?? 每秒亿级的随机读写 ?=> ?批量策略转为实时策略 ?
–? 数据实时统计 ?
?? 全局有序,支持区间访问 ?=>实时统计各站点的链接数据 ?
?
内容 ?
?? 搜索引擎架构 ? ?? Tera在实时搜索架构中的应用 ?
?? 链接存储 ? ?? 索引筛选 ? ?? 用户行为分析 ?
Tera应用——实时索引筛选 ?
?? 索引筛选在搜索引擎中的位置 ? ?
Web
搜索引擎 ?
Spider ?
抓取 ? 调度中心 ? 属性计算 ? 解析 ? 质量打分 ? 链接发现 ? 回灌调度 ?
检 ? 索 ? 系 ? 统 ?
索引 ? 服务 ?
展现层 ? 归并服务 ?
索引构建 ? I.?
query 分析 ?
索引筛选 ? 正排计算 ?
II.?
网页库 ?
链接库 ?
III.? 倒排计算 ?
索引筛选 ?
页面 价值 计算 ? 重复 度 ? 计算 ? 索引 价值 排序 ? 正排计算 ? 倒排计算 ?
页面 特征 获取 ?
索 ? 引 ? 构 ? 建 ?
?
保证有价值的网页能进入索引 ?
Tera应用——实时索引筛选 ?
?? 实时索引筛选在搜索架构中的作用和效果 ?
–? 网页筛选 ?
?? 作用:去除低质网页、去除重复网页 ? ?? 效果:影响索引的收录效果 ?
–? 索引分层 ?
?? 作用:索引价值排序 ? ?? 效果:影响搜索结果的展现效果 ?
?
Tera应用——实时索引筛选 ?
?? 批量索引筛选的架构 ? ?
输入 ? 网页数据 ? 网页属性 ? 索引 ? 筛选 ? (MR) ? 特 征 获 取 ? 页 面 价 值 ? 网 页 去 重 ? 索 引 排 序 ? 输出 ? 索引库分类 ? 索引库库层 ?
Tera应用——实时索引筛选 ?
?? 批量索引筛选的架构的问题 ?
–? 索引时新性 ?
?? 网页收录量增大 ?=> ?单个网页的check频次间隔被拉长 ? ?? 索引容量增长 ?=> ?索引更新速度慢 ?
–? 索引有效性 ?
?? 实时索引构建,要求实时索引筛选 ? ?
Tera应用——实时索引筛选 ?
?? 实时索引筛选的架构 ? ?
流式 ? 计算 ? 特 征 拼 接 ? 页 面 价 值 ? 网 页 去 重 ? 索 引 排 序 ?
Tera ?
网页库 ?
去重库 ?
结果库 ?
观察者 ? Scan ? 驱动实时 计算 ?
分布式文件系统 ?DFS ?
Tera应用——实时索引筛选 ?
?? 实时索引筛选的价值 ?
–? 索引时新性 ?
?? 单个网页从抓取到筛选完成,从天级别降低到分钟、秒级 ? ?? 为缩短索引库更新周期,提供前提条件 ?
–? 索引有效性 ?
?? 实时全局筛选加大去重力度 ? ?? 对uniq资源的精准识别,等同于扩大索引量 ?
?
内容 ?
?? 搜索引擎架构 ? ?? Tera在实时搜索架构中的应用 ?
?? 链接存储 ? ?? 索引筛选 ? ?? 用户行为分析 ?
Tera应用——实时用户行为分析 ?
?? 用户行为分析在搜索引擎中的作用 ?
–? 对搜索效果的改进 ?
?? 索引筛选策略 ? ?? 用户搜索意图分析 ? ?? 时效性事件的识别 ? ?? 排序算法的优化 ?
–? 对搜索引擎的评价 ?
?? 评价指标、评价体系的建立 ? ?? 辅助产品及策略的迭代 ? –? 判断功能、效果好坏 ? –? 选择较优方案 ? –? 挖掘优化点 ?
–? 核心:用户行为数据 ?
Tera应用——实时用户行为分析 ?
?? 用户行为数据流架构(批量) ?
日志 ? 点击 ? 展现 ? HDFS ? 日志 ? 计算 ? (MR) ? 日 志 解 析 ? 反 作 弊 计 算 ? 日 ? 志 ? 合 ? 并 ? 输出 ?
Session 计算 ?
用户行为 ? 日志 ? HDFS ?
Tera应用——实时用户行为分析 ?
?? 批量模式下的效率问题 ?
–? 日志延迟: ? ?
?? 小时级日志延迟:n小时 ? ?? 天级日志延迟:近半天 ?
–? 业务影响 ?
?? 用户行为对搜索效果的反馈太慢 ? ?? 评估结论的产出需要2-3天 ?
–? Day ?1上线=》Day ?2完整的数据=》Day ?3产出结论 ?
–? 效率决定了整体迭代速度 ?
Tera应用——实时用户行为分析 ?
?? 用户行为数据流架构(实时) ?
日志 ? 点击 ? 展现 ? …… ? 触发计算 ? 导入 ? & ? 清洗 ? (ETL) ? 实时数据计算 ?
迭代 计算 ?
数据 ? 导出 ?
Tera ?
反作弊
Session
日志合并
Tera应用——实时用户行为分析 ?
?? 效果 ? –? 日志产出速度 ?
?? 实时日志:秒级 ? ?? 小时级日志:1小时 ? ?? 天级日志:2小时 ?
Tera对实时搜索架构的价值 ?
?? 效率 ?
–? 实时读写,极大的提升了搜索引擎的实时处理能力 ?
?? 资源 ?
–? 批量计算转变为单条的实时计算,避免了不必要的全量计算 ?
?? 开发成本 ?
–? 中间数据直接可见,相比MR任务,Debug成本大幅下降 ?
? ?Tera是大发快3技巧_快3交流群_漏洞-搜索从批量处理迈向实时计算的架构基础 ?
h0ps://github.com/baidu/tera
?
?tera_dev@baidu.com
?
?