版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、自我介绍董剑飞2007年7月从清华信息技术学院硕士毕业同年加入酷讯创业,做垂直搜索引擎研发工作一年后离职加入百度做搜索广告研发工作,经历了百度凤巢从诞生到发展成公司最明星产品的全过程从工程师成长为高级工程师、资深工程师2011年转管理,从项目经理成长为技术经理现在负责百度凤巢检索系统工程架构团队,欢迎给我发邮件搜索广告系统架构和工程实践课程目标课程目标了解搜索广告系统整体架构了解搜索广告检索系统实现目录搜索广告系统整体架构检索系统架构和工程实践课前回顾搜索广告系统是一个经济社会参与的三方:网民、广告主、搜索引擎广告触发:keyword targeting广告主和网民都通过关键词表达需求网民输入
2、的query与广告主购买的keyword进行匹配CTR预估:机器学习点击率用于广告的排序与推左保护网民利益和提升搜索引擎收益广告排序:关键词广告拍卖机制每一次的广告展现都是一次动态的拍卖排序函数:ctr * bid搜索广告的在线投放过程AUCTION(Reranking)广告展现广告索引广告库匹配与检索Update ads广告候选集inputqueryBid on “2011年新款智能手机”Bid on “HTC”htc手机Rank by eCTR*BIDCandidate ads list搜索广告系统整体架构整体架构整体架构:七大系统业务系统存储系统传输系统检索系统反作弊系统计费系统统计系统
3、业务系统(1)广告主使用的系统广告主注册账号、登陆系统、给账号充值、购买广告分层账号结构:为方便广告主对大量广告进行分类管理推广计划:管理一系列关键词/创意的大单位推广单元 :管理一系列关键词/创意的最小单位关键词 :和检索词共同作用触发创意创意 :最终在搜索结果上展现的推广结果一个账号实例一条Ads是指:(关键词i,创意j)广告商A广告商B账户 1账户 2推广计划1推广计划2推广单元1推广单元2关键词1关键词2关键词m创意1创意2创意nKFC网上订餐业务午餐半价活动英文品牌+半价订餐麦当劳-北京KFC-北京业务系统(2)广告主使用的系统有了账号之后,广告主就可以根据自己的推广策划,提交广告内
4、容,设置投放控制多样的投放控制:提升系统的可表达性分地域推广:广告只展现在选择的地域,如北京、上海分时段推广:广告只展现在选择的时段,如周一上午10:0011:00否定关键词:检索词匹配否定关键词,则不展现广告IP否定 :设定广告不展现在设定的IP广告主查看投放效果广告展现次数广告点击次数广告平均点击价格广告质量度业务系统(3)百度凤巢业务系统http:/ Adwords业务系统http:/ Adcenter业务系统存储系统(1)关系型数据存储:数据库账号信息层次结构天然适合用数据库存储每一层建一张表,如:推广计划表,推广单元表不同的表之间通过外键互相关联常用的数据库Mysql:开源软件,社区
5、活跃,功能和性能足够好 Oracle:商业软件,功能和性能非常强大,公司支持好 存储系统(2)非关系型数据存储:NoSQL文本信息:广告创意多媒体信息:图片、视频众多开源K-V存储系统:Redis: open source, BSD licensed, advanced key-value store. Tokyo Cabinet: a modern implementation of DBMCouchDB: A Database for the WebMongoDB: a scalable, high-performance, open source NoSQL databaseHbase:
6、 the Hadoop database, a distributed, scalable, big data storeCassandra: scalability and high availability without compromising performance传输系统(1)传输系统定位传输系统是联接各系统的桥梁,相当于数据总线传输系统使得不同的系统间解耦传输系统是广告数据的ETL工具,完成数据的整合、转换和分发存储系统数据系统1系统2系统3数据传输系统(2)传输系统约束数据正确性商业系统必须保证数据100%正确,数据错误引发客户投诉传输实时性数据要能实时或准实时传输到各系统中,
7、延迟往往会造成收入损失或广告主体验下降性能稳定性海量数据传输的压力下,系统的性能表现稳定扩展伸缩性下游子系统从一台服务器扩展到成千上万台服务器,传输系统只需要线性扩容就能支撑传输系统(3)常见传输系统Push-model俗称“推”模式:上游系统把数据直接往下游系统发送优点:易于实现,实时性好,系统无单点稳定性高缺点:性能稳定性差,扩展伸缩性差,运维成本高Pull-model俗称“拉”模式:上游系统只发布数据,下游 系统订阅数据优点:扩展伸缩性好,运维成本低,性能稳定性好缺点:实现复杂度高,系统存在单点(有复杂算法可以避免单点)典型产品:消息队列大型系统中运维成本是重要的考量因素,多选择Pull
8、-model检索系统一句话介绍:负责完成广告检索全过程与传统搜索引擎相同Query分析:切词、纠错、主题词提取倒排索引:广告物料 vs 网页关键词检索技术与传统搜索引擎差异短文本:广告物料 网页全内存索引实时检索系统完成复杂的广告拍卖机制反作弊系统打击搜索推广中的各种作弊行为,保护广告主利益展现过滤:过滤无效的广告展现爬虫的抓取流量网民无意的多次连续搜索竞争对手的大量刷新展现点击过滤:过滤无效的广告点击,保留对广告主真正有价值的点击竞争对手以消耗广告主账户费用为目的的恶意点击浏览器问题造成网民无意的连续多次点击不符合统计学规律的异常点击计费系统来一次点击,计一次费不仅仅是“扣钱”只能对“有效”
9、点击计费除了记录点击价格,还要记录账号、推广计划、推广单元、关键词、创意和点击时间计费方式多样,除了实时计费还要支持点击追溯计费系统与业务系统联动,更改账号余额、更改广告层级状态,修改最后一次计费价格告诉用户浏览器跳转到对应的广告主网站统计系统完成展现、点击和计费等数据统计功能,生成报表供广告主、客服、管理者等查看统计系统的功能支持复杂的业务逻辑:复杂的统计指标、复杂的统计维度准实时的数据更新:分钟级别,也支持定期批量数据导入海量的数据存储:100T+,时间跨度大,可以达到10年以上数据的准确性:100%正确,并且与其他系统数据严格一致请求响应的及时性:100ms以内,百M级别报表在1秒以内系
10、统的高稳定性:报表请求失败对客户造成困扰,引发投诉大型数据仓库或研发专用系统搜索广告整体架构:小结广告主直接使用的系统业务系统统计系统与网民直接相关的系统检索系统计费系统内部系统存储系统传输系统反作弊系统小结检索系统架构和工程实践检索系统特点海量广告文本的内存索引:billions索引的实时动态更新:支持增、删、改海量的检索请求:billions苛刻的检索响应时间:less than 100ms支持多种触发方式:精确、短语和宽泛个性化检索:不同的人看到不同的广告复杂的CTR预估逻辑支持商业因素考量:最大化系统收益检索系统架构(1)QueryQueryanalysisAd ServerIndex
11、ServerCTR ServerAuctionServerBroad MatchServerUser Server传输系统检索系统架构(2)Query analysis纠错、同义变换、改写切词、提取主题词意图分析User ServerDemographicCookieSession检索系统架构(3)Broad Match Server实现宽泛匹配宽泛匹配的相关性很重要Index Server实现精确匹配、短语匹配各种业务过滤功能查找广告倒排索引Ad Server正排表查找广告物料:创意标题、描述、URL检索系统架构(4)CTR Server实现CTR预估功能:输入,输出pctr计算密集:一次预
12、估数百feature提取和查表内存密集:模型文件非常大,数十GAuction Server广告排序:Q * Bid广告推左:选择高质量广告展现在左侧计价:Price = Q * Bid / QQuery rewritingRewrite the user query q into Q = (q1, q2, )Use EM to select ads for QFits well in the current system architectures 一种广泛匹配的实现技术广告存储引擎Adtable提供广告库数据加载、存储、更新和访问完整功能提供类SQL的访问接口和迭代器函数访问接口通过sche
13、ma提供高度可定制的数据组织方式 完全无锁的一写多读并发支持高性能高吞吐 一种广告数据内存索引结构(1)Adtable schema文件示例 一种广告数据内存索引结构(2)CREATE DATATABLE WinfoTable PROPERTY TYPE = HashTable; ROW_NUM = bidinfo.keywd_num; HASH_RATIO = 0.5; DATAPOOL = SlabMempool32; ; / 列描述 winfo_id : uint64_t; plan_id : uint32_t; unit_id : uint32_t; usr_id : uint32_t
14、; word_id : uint32_t; exact_sign : uint64_t;Adtable schema文件示例 一种广告数据内存索引结构(3)CREATE INDEXTABLE ExactIndex ON WinfoTable(exact_sign) PROPERTY TYPE = KeyList; DATAPOOL = SlabMempool32; UDF = ExactIndexUDF; INDEX_KEY_TYPE = Uint64Key; FIELDS winfo_id; plan_id; usr_id; bid; ;Schema文件编译后生成源代码 一种广告数据内存索引
15、结构(4)class WinfoTable : public im:adtable:DataTable public: typedef WinfoTableS TSchema; explicit WinfoTable(const bsl:string &name) : im:adtable:DataTable(name) / do nothing. virtual WinfoTable() / do nothing. Schema文件编译后生成源代码 一种广告数据内存索引结构(5)class ExactIndexS public: typedef im:adtable:Uint64Ke
16、y TIndexKey; typedef ExactIndexNode TIndexTuple; typedef WinfoTable TDataTable; static bool sort_op(const ExactIndexNode &lhs, const ExactIndexNode &rhs); static bool is_same(const ExactIndexNode &lhs, const ExactIndexNode &rhs);typedef im:adtable:IndexTable ExactIndex;Adtable 使用示例 一
17、种广告数据内存索引结构(6)Adtable分层结构 一种广告数据内存索引结构(7)API层数据访问接口,如索引遍历、数据查询数据更新接口,如insert、update、delete等对table数据的更新生命周期控制,如创建、销毁、重载等 一种广告数据内存索引结构(8)SQL interface层负责解释用户schema行为支持通过schema定制table格式和内容实现支持用户定制的数据更新方式提供Trigger和Notifier支持 一种广告数据内存索引结构(9)Table层提供DataTable和IndexTable,分别支持正排数据和倒排数据存储支持key-value和key-list
18、等多种内部存储结构为API层提供基本的操作接口 一种广告数据内存索引结构(10)Data Pool层数据的存储介质分配和回收(内存、共享内存)支持定长和变长数据存储支持上层使用无锁数据结构 一种广告数据内存索引结构(11)真实检索系统QueryAdServerIndexServerMixerAdServerAdServerAdServerAdServerAdServerAdServer1IndexServerIndexServerIndexServerIndexServerIndexServerIndexServerIndexServer2IndexServerIndexServerIndexServerIndexServerIndexServerIndexServerIndexServerInd
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度融资租赁合同关键条款解读3篇
- 2024年度房屋买卖合同:某开发商与某购房者之间的房屋买卖合同3篇
- 2024年商业秘密许可合同6篇
- 2024年个人医疗贷款续签协议样本3篇
- 2024年幼儿园食材供应协议5篇
- 2024年店铺域名转让协议2篇
- 2024年新款机动车抵押借款协议标准模板版B版
- 2024年建筑行业合同与成本控制策略研究3篇
- 2024年合作双方股权协议3篇
- 畜牧场建设工程施工合同三篇
- 2022年6月大学英语四级CET4真题(3套)
- 辅酶与维生素课件
- 机械加工技术专业设置必要性和可行性论证报告
- 设备生产标准流程
- 造价咨询公司组织机构及人员岗位职责
- 墓碑供货方案及服务保障措施
- 音响系统调试方法
- 全国省市县列表
- 浅谈小学生参与数学课堂教学的有效性
- 丹毒教学课件PPT课件
- (口腔科学课件)2.2牙列缺损牙列缺失(讲课用)
评论
0/150
提交评论