SOHU精准广告投放系统 @DJ_戴军.

Slides:



Advertisements
Similar presentations
分享人:張益源. 個人資料介紹 姓名:張益源 畢業:體育系 97 級 專長:田徑、籃球、游泳 任教學校:慈濟大學實驗國民小學 學校職務:體育兼資訊老師.
Advertisements

嘉義縣中埔國民小學 補救教學實施方案 精神內涵說明 科技化評量系統實務操作 及基本學習內容認知. 為什麼要安排這樣的課程呢? 攜手計畫與補救教學實施方案的 差異 不是補救目前教學進度,也不再 是一堆表冊,而是補救學生的基 本學力 ( 基本學習內容 )
網站經營心得分享 林文宗 明新科技大學資管系助理教授 麟瑞科技顧問 工研院資通所無線通訊技術組顧問 明新科技大學電算中心網路組組長 國立清華大學資訊工程學系博士.
index 目次 ( 請按一下滑鼠,解答就會出現喔 !) 接續下頁解答 3-1 極限的概念.
Web Maple— 云端计 算 数学学院刘海洋 胡婷婷. 需求 什么是 Web Maple ? Maple : “ 数学家的软件 ” 符号和数值计算 动态编程语言 集成编辑环境与图形输出 Web Maple :网页上的数学家 完整的 Maple 功能 云端计算 网页独特的输入输出格式.
Go, Next Java? No, Next 许式伟 Go ,会成为下一个 Java 吗? 不。 Go 不是下一个 Java 。 认为 Go 是下一个 Java ,那是远远低估 Go 的能力。 Go 是下一个 C !
开始 周海 2012 级中软定制专业方向说明. 三个方向 Java 与移动互联.NET 软件开发 嵌入式开发.
1 网站设计理念 大连理工大学创新实验学院 优秀网站展示 - LAMP 类网站
资源平台应用培训 武汉市交通学校信息化建设指导委员会.
辨析近义词的方法 (一) 词的色彩不同 词语色彩----感情色彩 ----语体色彩.
中华字库的云输入法 王勇 基础软件国家工程研究中心
容量规划与保护.
我的家乡 南通 ….
104年度國立宜蘭大學新進主管研討 主計業務宣導說明
分布式系统 Distributed Systems 第 12 讲 “大型”网站架构设计 Lecture 12 Large Scale Website Architecture 王晓阳、张 奇 复旦大学 计算机科学技术学院.
102年實施之高中職及五專多元入學(含免試入學)之招生機制
Mico的架构之旅 魏佳 Co-Founder & Mico Inc..
读者与图书馆 2009年春季版 总第 15 期 山 东 交 通 学 院 图 书 馆 2009年3月.
大规模互联网用户密码泄露 风险控制对策 吴锐
急難救助措施簡介 內政部社會司 99年6月7日.
乞丐有尊严吗? 广州白云机场有一乞丐在行乞时,有一个乘客鄙夷的将施舍的钱用力的扔在乞丐的脸上,该乞丐不满这种施舍态度,认为有伤他的自尊,他说:宁可饿死、冻死也不需要这种施舍。) 说一说: 根据这件事,许多网友发表了评论,请你以“乞丐有尊严吗”加入网评。
性理釋疑(1—30題) 後學 阮章輝 學講.
校园信息管理系统 河北科技大学网络中心 2000/4/10.
应用性能管理提升客户体验 龙珠客户案例分享 肖澍 云智慧公司.
——支持千万级DAU的Social Game技术构架
基于CloudFoundry的私有云平台
2012级暑期放假安全教育 及宿舍搬迁工作布置会 北京化工大学理学院 辅导员:曹鼎 2013年6月6日.
云智慧助力在线医疗服务性能优化 —让IT运营更简单 2015年4月 云智慧科技(北京)有限公司.
中国光大银行“流量分析系统” PHPCPS网络广告联盟系统解决方案 投标方案介绍
徵收苗栗市福全段147、1588及文心段10、11地號等4筆土地之
信 息 与 软 件 工 程 学 院 实验室开放实验介绍.
讲 义 大家好!根据局领导的指示,在局会计科和各业务科室的安排下,我给各位简要介绍支付中心的工作职能和集中支付的业务流程。这样使我们之间沟通更融洽,便于我们为预算单位提供更优质的服务。 下面我主要从三方面介绍集中支付业务,一是网上支付系统,二是集中支付业务流程及规定等,
中国人民公安大学经费管理办法(试行) 第一章总则 第四条:“一支笔” “一支笔”--仅指单位主要负责人。负责对本 单位的经费进行审核审批。
。星。星。の。承。諾。 6年15班 7號 張靖旋 作者:不明.
基本要求:了解隋朝各项制度的历史渊源及其各方面的发展成就的社会基础,力求领会中国封建社会历史发展的基本规律并真正把握隋朝的历史地位。
2015年云南财经大学图书馆 新生入馆教育考核试题 答题指南
转正述职报告 乐恩公司 史航
五、学习方法及应考对策 (一)学习方法 1.保证复习时间,吃透教材:上课之前应该对课程相关内容进行预习,把不理解的问题记录下来,带着问题听课。考试之前务必把课本看3遍以上,第一遍一定要精读,最好能做笔记,边读边记,不要快,要记牢。第二、三遍可以查缺补漏型的看,通过做题目看书,加深课本印象。 2.加强概念、理论性内容的重复记忆:概念、理论性内容一般比较抽象,所以在理解的基础上一定要重复记忆,在接受辅导之后,再加以重点记忆,以便及时巩固所学内容,切忌走马观花似的复习,既浪费时间,效果也不好。
銀行舞弊及內部管理常見缺失暨查核技巧 檢查局 陳組長妍沂.
一、古代中国的农业经济 必修二 /专题一 古代中国经济的基本结构与特点 ▲1.农业的主要耕作方式和土地制度
前不久看到了这样一则报道:某个大学校园里,一个大学生出寝室要给室友留一张字条,告诉他钥匙放在哪里。可是“钥匙”两个字他不会写,就问了其他寝室的同学,问了好几个,谁也不会写,没办法,只好用“KEY”来代替了。 请大家就此事发表一下自己看法。
2009届高考专项复习 ——辨析病句.
TQC 雲端技術及網路服務.
基于6LoWPAN的 教室灯光监控系统设计与实现 汇报人:李枝琴 指导老师:王慧锋 2016/10/27 华东理工大学
利用共同供應契約 辦理大量訂購流程說明.
Thrift: Scalable Cross-Language Services Implementation
/8/19 Erlang的高级特性和应用 /8/19.
/8/19 Erlang的高级特性和应用 /8/19.
貨幣需求與貨幣市場的均衡.
第11章 Android客户端与服务器交互.
105年度 大專校院校外實習學生 團體保險 第一產物保險股份有限公司 營業二部 蔡承瑋.
Python联合服务器的使用.
第六章 社群與人脈經營- Facebook與Google+ 課前指引
致 理 科 技 大 學 「106年大專校院弱勢學生助學計畫」 說 明 會 中 華 民 國 106 年 9 月 13日.
新陸書局股份有限公司 發行 第二章 租稅法之意義及原則 稅務法規-理論與應用 楊葉承、宋秀玲編著.
商業行為成立的要件 動動腦 Q 請試著判斷下列何者為商業行為? 請試著判斷下列何者為商業行為?.
遠東科技大學學生學習歷程檔案系統 e-portfolio 簡報:鼎業科技 陳志欽.
(輕量化)中小學教師專業發展 線上課程學習平台
微信商城系统操作说明 色卡会智能门店.
兒童及少年保護、 家庭暴力及性侵害事件、 高風險家庭 宣導與通報
長者自務學習計劃運作模式 高秀群女士 黃燕卿女士 顧佩君女士 21/12/2005.
Javascript 基础 面向非JS语言的开发人员.
教育部特殊教育通報網 學生異動、接收操作說明.
團隊介紹 活動動機 前言 活動目的 【畢業典禮的意義】 為什麼要有畢業典禮? 每個階段性的里程碑 畢業典禮:凝聚向心力,聯繫學校的情感。
【VA虚拟应用管理平台】专题培训 接入防火墙 陕西益和信息技术开发有限责任公司 2011年2月.
大綱 一.受試者之禮券/禮品所得稅規範 二.範例介紹 三.自主管理 四.財務室提醒.
大数据应用人才培养系列教材 数据清洗 刘 鹏 张 燕 总主编 李法平 主编 陈潇潇 副主编.
106年免試入學第一次模擬 選填重要日程表說明 1.106年1月10日中午12時~106年1月16日中午12時完成第一次模擬
第1章 WWW和LAMP基本觀念.
银川社保网上申报 宁夏人力资源和社会保障 网上服务大厅操作
Presentation transcript:

SOHU精准广告投放系统 @DJ_戴军

系统逻辑结构 AdServer MonitorServer CookieMappingServer

系统逻辑结构

Adserver

Adserver 标签库 广告请求参数接收&获取 CTIndex NetWork 获得UA与PA 根据请求参数从相应广告来源获得广告 ADIndex 根据请求参数从相应广告来源获得广告 AdExchange CTR模块 Ranking Layout

AdServer实现 开发环境:Linux 开发语言:C++ 服务架构:nginx + fastcgi 模块间通信:thrift 本地缓存:redis 日志记录:log4cxx 服务运行方式:多进程多线程

AdServer前端http请求接收 AdServer的http请求接收层采用nginx搭建,nginx接收到http请求后会将请求转发给后端的fastcgi服务。 通过GET方式接收的参数: 广告位ID 广告位尺寸 轮播数 通过http请求头接收的参数: 用户IP UserAgent 通过查表获得的参数: 用户当前所在地域ID(可通过nginx配置实现) 注意:nginx安装时要--with-http_realip_module

AdServer核心 AdServer核心部分为使用C++开发的多线程fastcgi进程。 FastCGI像是一个常驻(long-live)型的CGI,它可以一直执行着,只要激活后,不会每次都要花费时间去fork一次(这是CGI最为人诟病的fork-and-execute 模式)。它还支持分布式的运算, 即 FastCGI 程序可以在网站服务器以外的主机上执行并且接受来自其它网站服务器来的请求。 fastcgi fastcgi User Nginx fastcgi fastcgi

全局连接池(index & ctr module) AdServer核心 AdServer的fastcgi进程利用C++开发,采用固定线程数的多线程模型。 全局连接池(index & ctr module) 线程0 接收http请求 Popconn 查询index Pushconn 查询CTR 排序 输出 线程1 接收http请求 Popconn 查询index Pushconn 查询CTR 排序 输出 线程n 接收http请求 Popconn 查询index Pushconn 查询CTR 排序 输出 辅助线程 Popconn, 关闭损坏连接, 创建新的连接, Pushconn 待维修连接池

AdServer与其他模块间通信 AdServer与AdIndex、CTR模块间通信采用thrift。 thrift是一个软件框架,用来进行可扩展且跨语言的服务的开发。它结合了功能强大的软件堆栈和代码生成引擎,以构建在 C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, and OCaml 这些编程语言间无缝结合的、高效的服务。 thrift最初由facebook开发,07年四月开放源码,08年5月进入apache孵化器。 thrift允许你定义一个简单的定义文件中的数据类型和服务接口。以作为输入文件,编译器生成代码用来方便地生成RPC客户端和服务器通信的无缝跨编程语言。

struct CtrRet { 1: optional map<string,ret_info> eCPM_map, 2: optional string adpid } struct CtrQuery_list { 1: optional list<CtrQuery> query_list, 2: optional string regionid, 3: optional string browser, 4: optional string os, struct CtrRet_list { 1: optional list<CtrRet> ret_list, 2: optional string extdata service CtrServ { CtrRet_list request(1: CtrQuery_list req_info) struct query_info { 1: optional string adid, 2: optional string score, 3: optional i64 bid, } struct ret_info { 2: optional double ecpm, 3: optional string bucket, 4: optional double ctr struct CtrQuery { 1: optional list<query_info> item, 2: optional string adpid, 3: optional string turn

thrift --gen cpp ctrserver.thrift http://thrift.apache.org/ Thrift服务端代码

本地缓存 本地缓存采用reids,主要用于广告频次控制以及同一用户同一页面不同广告位之间广告去重逻辑的实现。 频次控制: 1、monitor server记录用户看过的广告 2、AdServer投放时读取用户当天看过的广告记录,去除达到频次控制 数的广告 去重控制: 1、AdServer以MD5(用户ID+URL)为Key,记录5秒内Key上投放的广告 2、AdServer以MD5(用户ID+URL)为Key,查询5秒内Key上记录的广告, 去除重复的广告 注意:本次作业不需要实现该功能

日志记录 日志记录采用log4cxx库结合logrotate实现. 需要注意的问题: 1、多进程写同一个日志文件 2、 为什么用logrotate进行日志文件切割,而不用log4cxx进行日志切割? 注意:本次作业可选择实现该功能,若不实现该功能则运行方式改为单进程多线程

Monitorserver

统计服务器工作流程 用户浏览器 监测请求 统计服务器 广告投放数据库 监测日志 Storm

Cookie mapping server

Cookie Mapping Server工作方式 SOHU为cookie mapping发起方 对方为cookie mapping发起方

SOHU为cookie mapping发起方 Sohu.com页面 第三方广告公司或广告主Server(thirdparty.com) Sohu用户ID 对方用户ID与用户标签 Sohu Cookie Mapping Server(sohu.com) 标签转换 记录日志(Sohu用户ID,对方用户ID,对方用户标签)

对方为cookie mapping发起方 Sohu Cookie Mapping Server 对方投放广告页面 (thirdparty.com) Sohu Cookie Mapping Server (sohu.com) 对方用户ID与标签 302跳转,so hu用户ID 标签转换 第三方广告公司或广告主Cookie mapping Server (thirdparty.com) 记录日志(Sohu用户ID,对方用户ID,对方用户标签)

Q&A

谢谢