Commit e492a937 authored by frank.chen's avatar frank.chen

rfbv

parent 62b72112
## 概述
- 先由处理dsp的模块,生成初始 Bid,接着引擎二次处理
- 返回的是 OpenRtb 的 Bid,我们程序有个包装,BidContainer
- BidContainer 里有 Bid 信息,以及其他 Ext 结构体
- 注意,Ext 结构体,一般打包成 json 字符串,放入某个 XxxExt 字段中
- Bid 有个重要复合字段 adm,是一个 json 字符串,json 内容为 native.response
- Bid 还有其他简单字段,比如 bundle
- Bid 中另一个复合字段 Ext,是个稍微简单点的 json 字符串。
## 举例 ssp
-
## impType
- 原有设计里,有一个对请求的 imp 进行分类的逻辑。
- imp 与 impType 是 1对1 的关系,即:一个类型只有一个imp。
- 但一直以来,规划上,未规划一次请求有多个imp。
## 表格
### 主要
| 代号 | 功能 |
| ------------------ | ----------------------------- |
| ssp nginx | 三星主流媒体广告投放 |
| appstore-thrift | 共享内存更新 |
| thrift_watch | 查看共享内存数据 |
| ssp-notify | ssp tracking 后续处理 |
| IntimeStat | 计算实时 ctr,即 ssp nginx 中的 鹏泰 预测 |
| ssp-cron | ssp nginx 的监控脚本 |
| AdxMonitor | adx 投放,以及其他某几台服务器的监控脚本 |
| adx-cn | 国内 adx 广告投放 |
| appstore-adsurvey | 安装卸载数据接收 |
| installer_sync | 安装卸载落盘 |
| dsp-notify | dsp win loss 通知 |
| proxy_status | 代理服务器上的 dsp 请求超时率报警 |
| proxy_dmp_analyze2 | 代理服务器上的 预测 请求超时率 (每日邮件) |
| ops-notify | 代理发送邮件 |
### 调试工具
| 代号 | 功能 |
| ---------- | ------------------- |
| adsource | 查看 adsource |
| adxPosFlow | 查看广告为的 dsp 分配,预测分配。 |
| avro_show | 查看 avro 日志数据 |
| wnd_ad_api | pyqt 开发的窗口类工具 |
### 暂停中
| 代号 | 功能 |
| ------- | ------- |
| cpt-dsp | 信息流广告投放 |
| feed | 浏览器信息流 |
## ssp nginx
- 主要职责
## appstore-thrift
- 共享内存更新
## thrift_watch
- 查看共享内存数据
## ssp-notify
- ssp tracking 后续处理
## IntimeStat
- 计算实时 ctr,即 ssp nginx 中的 鹏泰 预测
## ssp-cron
- ssp nginx 的监控脚本
## AdxMonitor
- adx 投放,以及其他某几台服务器的监控脚本
## adx-cn
- 国内 adx
## appstore-adsurvey
- 安装卸载数据接收
- ssp nginx 上的 php 模块
## installer_sync
- 安装卸载落盘
## dsp-notify
- dsp win loss 通知
## proxy_status
- 代理服务器上的 dsp 请求超时率报警
## proxy_dmp_analyze2
- 代理服务器上的 预测 请求超时率 (每日邮件)
## ops-notify
- 代理发送邮件
## 工具
### adsource
- 查看 adsource
### adxPosFlow
- 查看广告为的 dsp 分配,预测分配。
### avro_show
- 查看 avro 日志数据
### wnd_ad_api
- pyqt 开发的窗口类工具
## 业务暂停
### cpt-dsp
- 信息流广告投放
### feed
- 浏览器信息流
## 说明
- 三方上报,展示和点击。归因
## 格式
| 字段 | 说明 | 例子 |
| ------------- | ------- | --------------------------------- |
| type | 日志类型 | ascribe 或 third_track amend_click |
| httpcode | http状态码 | 200 |
| status | 是否成功 | 1或0 |
| err_msg | 上报错误提示 | |
| tracking_type | 事件类型 | exposure click |
| report_time | 上报时间 | 20250220154350 |
| appid | 应用id | |
| strategy_id | 活动id | |
| adpos_id | 广告位id | |
| adsource | | |
| track_url | 上报url | |
| batch_log_id | 请求id | |
...@@ -68,7 +68,7 @@ yum -y install bison byacc flex ...@@ -68,7 +68,7 @@ yum -y install bison byacc flex
### hosts ### hosts
``` ```
180.76.51.115 git.dt-dtg5.com 180.76.51.115 git.dt-dtg5.com 注意这个IP是原来百度云的
``` ```
......
## 资源
### stg
- sid 351
180.184.61.244:18085/store/match?uid=ODYzNGY4NDRkZGM0Y2YxOTkyNWM3NGJmNDNjOTVmOGQyZWUwMjJkMWQ1NTQ2ZjFmNjhlODY1NDYxYzJlZTA3Mw==&sid=351&lan=zh&nt=&dis=1080x2546&original=&db=Samsung&dt=SM-F7310&dos=33&gps=&keywords=&apps=&force=1&timestamp=1702349726596&vc=4.5.65.1&oaid=a92be8cba2318be7c2024b69cea41daf9f335407f26a23e7e9257bdbcddc2ca1&rec=1&os_bit=64&ip=39.144.103.187&debug=1&imei=cchhxmeenn
活动ID:37870
### prd
- sid 1221
## TODO
- avro 加 zzy 返回的 ecpm
- match log 到 kafka
## 疑问
- 排序,二价?
## 流程
- 旧预测里,摘出ocpx的活动
- 独立ocpx模块
- ocpx提供 cvr 以及价格
## 代码数据
- avro
- 增加 cvr 和 ocpxstage
- dealPrice strategyPrice 注意这两个字段
- 价格计算
- 赋值到 ppt->m_deal_price
- zzy 返回的 ecpm /ctr /cvr
- zzy ctr cvr 异常时
- 排序系数
- zzy 返回的 ecpm
## 代码规划
- 目前只有1家ocpx预测
- 只有走zzy预测的广告位,且包含ocpx的活动,才会走ocpx预测
- DISTRIBUTE_TO_YOUYI_RELATED
- DISTRIBUTE_TO_YOUYI
- DISTRIBUTE_TO_YOUYI_CPC
- DISTRIBUTE_TO_ZHIZIYUN_KEYWORDS
- DISTRIBUTE_TO_RECOMMEND
## 旧代码作用
- 预测后,数据都扔给了 MatchContext 的三个成员:
- mCtrSource mAdPosCtrClass mCtrData
### mCtrSource
`记录走 外部预测通道 的广告位,以及走 鹏泰自己预测通道 的广告位`
- MatchContext::getCtrSource() 匹配广告时,分类匹配
- MatchContext::getCtrSource(int posID) 不被使用,可删掉
- MatchContext::getAdPos(int source) 匹配时的分类
### mAdPosCtrClass
`广告位获取到的预测模型ID,避免ID超出规定的友商ID范围,这个模型ID做了适当修正`
- MatchContext::getCtrClass(int adPosid) 不被使用,可删掉
- 从代码分析,这个数据无作用。
- 实际需要这个功能,数据放到了 ppt (publish_parameter_t) 里
- 参与功能:广告位分组,排序、筛选时的特殊处理,
- 一般 ctr class 为 CTR_CLASS_ZHIZIYUN_KEYWORDS 时,需要特殊处理。
### mCtrData
- 活动的ctr值,排序时用
## 概述
- 模式-动作
```
awk '$3 > 0 {print $1, $2 * $3}' emp.data
```
## 分隔符
- 通过参数 `-F` 指定
```
awk -F, '{print $2}' test.txt
多个分隔符
awk -F'[&=]', '{print $2}' test.txt
```
- 通过内置变量 FS 指定
```
awk -v FS="," '{print $2}' test.txt
```
## 变量
- NF 字段数量
- print $NF 表示 打印最好一个字段内容
- NR 读取到的行的数量
- FS 分隔符
- OFS 输出分隔符,即 print 多个参数时的分隔符。
## BEGIN 与 END
- 初始化与扫尾
- BEGIN 表示在第一行之前,执行一次
- END 表示最后一行之后,执行一次
\ No newline at end of file
## 升级 cmake
- 系统自带的 cmake 较老,可能在以后需要升级。
- 升级时,先下载源码 `https://cmake.org/files/`
- 例如 `https://cmake.org/files/v3.31/cmake-3.31.9.tar.gz`
- 下载后,解压 `tar -zxvf cmake-3.31.9.tar.gz`
- 配置 `./configure --prefix=/usr` 这里也做适当编译,只能单线程,较慢
- 编译 `make -j5`
- 卸载旧版 `sudo yum remove cmake`
- 安装 `sudo make install`
## 参数 ## 参数
### 排除 - 排除
``` ```
grep -v 'mmm\|nnn' abc.txt grep -v 'mmm\|nnn' abc.txt
``` ```
### 或 ## 正则
-
``` ```
grep -E "word1|word2|word3" file.txt grep -E "word1|word2|word3" file.txt
``` ```
### 结尾 - 结尾
``` ```
ls |grep log$ ls |grep log$
``` ```
- 开头
```
ls |grep ^log
```
## 常用日志格式 ## 常用日志格式
- 广告落盘日志 - 广告落盘日志
``` ```
grep pos_id\":1277 grep pos_id\":1277
......
...@@ -8,4 +8,7 @@ ...@@ -8,4 +8,7 @@
## 注意 ## 注意
- 系统可能存在多个版本,注意看定时任务调用的哪个版本。 - 系统可能存在多个版本,注意看定时任务调用的哪个版本。
- 被压缩文件的权限,是否运行其他用户改写。 - 被压缩文件的权限,是否运行其他用户改写。
`logrotate 配置里增加 su 配置,比如 su root root` `logrotate 配置里增加 su 配置,比如 su root root`
\ No newline at end of file - 程序由 root 调用,所以执行 `logrotate -d file` 时,前面加一个 sudo
- 配置文件要执行 `chmod 644 xxx`
- 配置文件属于root
\ No newline at end of file
...@@ -27,4 +27,33 @@ composer update ...@@ -27,4 +27,33 @@ composer update
composer install composer install
php artisan key:generate php artisan key:generate
可能需要重启 php-fpm 可能需要重启 php-fpm
```
## 做成服务
- 服务文件
`sudo vi /usr/lib/systemd/system/php-fpm.service`
- 文件内容
```
[Unit]
Description=php-fpm daemon
After=syslog.target network.target
[Service]
Type=forking
WorkingDirectory=/data/log/
PIDFile=/var/run/php-fpm/php-fpm.pid
ExecStart=/usr/local/sbin/php-fpm
ExecReload=/bin/kill -USR2 $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
```
- 执行命令
```
sudo systemctl start php-fpm
sudo systemctl enable php-fpm
``` ```
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment