搜索广告的整体架构-子模块划分
来源:互联网 发布:打印机端口不存在 编辑:程序博客网 时间:2024/06/04 00:37
搜索广告的子模块划分
1. 业务系统
广告主使用的系统: 广告主注册账号、登录系统、充值、购买广告
分层账号结构:方便广告主对广告进行管理
推广计划、推广单元、关键词、创意
多样的投放控制:分地域推广、分时段推广、否定关键词,否定IP
广告主查看投放效果:
广告展现次数、广告点击次数、广告平均点击价格、广告质量度
2. 存储系统
关系型数据存储:数据库
账号信息
e.g.: mysql, oracle
非关系型数据存储:NoSQL
文件信息:广告创意
多媒体信息“: 图片、视频
众多开源K-V系统:Redis, MongoDB, HBase, Casandra等
3. 传输系统
传输系统使得不同系统之间解耦合,是链接各个系统的桥梁,相当于高速数据总线,
它是广告数据的ETL工具,完成数据的整合、转换、分发。
对传输系统的要求:
数据正确性、传输实时性、性能稳定性、扩展伸缩性。
常见传输系统:
Push-Model: ”推“模式: 上游系统直接把数据往下游系统发送
优点:易于实现,实时性好,系统无单点稳定性高
缺点”:性能稳定性差,扩展伸缩差,运维成本高
Pull-Model: “拉”模式:上游系统只发布数据,下游系统订阅数据
优点:扩展伸缩性好,运维成本低,性能稳定性好
缺点:实现复杂度高,系统存在单点
e.g. 消息队列
4.检索系统
负责完成广告检索的全过程
与传统搜索引擎相同:
query分析:切词、纠错、主题词抽取
倒排索引:广告物料
关键词检索技术:
与传统搜索引擎差异:
短文本:广告物料<<网页
全内存索引
实时检索系统
完成复杂的广告拍卖机制
5.反作弊系统
打击搜索推广中的各种作弊行为,保护广告主利益。
展现过滤:过滤无效的广告展现
爬虫的抓取流量
网民无意的多次连续搜索
竞争对手的大量刷新展现
点击过滤:过滤无效的广告点击,保留对广告主真正有价值的广告点击
竞争对手以消耗广告主账户费用为目的的恶意点击
浏览器问题造成网民无意的连续多次点击
不符合统计学规律的异常点击
6. 计费系统
点击计费:
只能对有效点击计费,记录点击信息比如账号、推广计划、推广单元、
关键词、创意和点击时间等。
计费方式:实时计费,支持点击追述
计费系统与业务系统联动,更改账户余额等
告诉用户浏览器跳转到对应的广告主网站
7. 统计系统
完成展现、点击和计费等数据统计功能,完成报表供广告主、客服、管理者查看。
统计系统的功能:
支持复杂的业务逻辑
准实时的数据更新
海量的数据存储
数据的准确性
请求响应实时性
系统的高稳定性
和广告主相关:
业务系统、统计系统
与网民直接相关系统:
检索系统
计费系统
内部系统:
存储系统、传输系统、反作弊系统
- 搜索广告的整体架构-子模块划分
- DHCP源码分析_子模块划分
- MiniSnail子模块的规划
- 子模块
- 如何提高opengl的显示效率及Android系统的子模块Graphic的总体架构
- GL追溯子模块的视图
- simulink 查看model 的子模块find_system
- GL追溯子模块的视图
- GL追溯子模块的视图
- mvn 子模块 版本号的自动更新
- Maven更新子模块的版本号
- maven 自动更新子模块的依赖版本号
- 搜索广告系统架构
- git子模块
- SciPy子模块
- Git下载子模块
- git submodule子模块
- SAP 子模块
- work_weipa_判断是否登录
- 图论500题
- 通讯录的创建以及实现
- dijkstra模板
- 如何用linux中的crontab 执行多条定任务命令
- 搜索广告的整体架构-子模块划分
- cocos2dx android版本移植时的Error format not a string literal and no format arguments解决方案
- YII中CListView列表形式的模板设置,包括pager和sorter的细节
- 安卓---JNI使用
- SSL构建单双向https认证!https部署及注意事项!
- Java REST框架一览
- find命令删除15内文件
- hdu 4932 Miaomiao's Geometry(暴力枚举)
- A. 简单的生活(cin)