广告联盟-日计分析处理
关键字: des, map工作已经两个月有余了,算一下,线上活动也做6个了,感觉挺烦厌的!原因不在于涉及很复杂的业务逻辑,也没有用到很高深的技术。实现都很简单,通常就是从页面提交数据,后台处理一下放入缓存或直接保存到数据库,然后把数据按需取出来显示。主要使人心烦的是整天催促你上线的销售,动态页跟静态页都分不清的设计和制作,随心所欲增加需求的编辑,还有间歇不断的电话响(自己无形中变成接线生了)...
也许是自己的表现受到肯定吧,Oliver把我分配到了“广告联盟”的项目组,暂时不用做枯燥烦人的活动了;丛先生还问我有没有跟我实力相当的同学可以介绍两三个进来,很是高兴的说^_^
-------------------------------------------------------
这次的工作主要是实现计数分析处理部分的(IP)防作弊功能。
系统会定时对收集到的广告访问数据文件做分析统计,这部分得到的数据是点击费用计数、广告显示/点击报表等的基础数据。分析统计流程如下:
1,系统定时启动计数原始数据入库操作
2,读取原始的计数文件的每一行内容
3,如果是显示计数,广告显示数加1
4,如果是点击计数,检查验证串中的解密后的网友IP是否与这次请求中的ipWithProxy一致。如果一致,这次点击视为有效点击,相反,这次点击视为作弊点击。其中,作弊过的IP以后所有的点击会转到作弊点击中,而且如果检查到原来已经有过有效点击,也惩罚性把原来(部分)的有效点击改为作弊点击
5,对于计数记录,按如下规则做统计:
->以请求日期,广告产品ID,站点ID做统计基准
->显示计数的合计值累加到日统计结果表对应记录的[广告显示数]中
->有效的点击计数的合计值累加到日统计结果表对应记录的[有效点击计数]中
->作弊的点击计数的合计值累加到日统计结果表对应记录的[作弊点击计数]中
6,保存到数据库上,统计处理完成
-------------------------------------------------------
附录一:
广告访问数据文件中单行访问记录的对象(AccessRecord)的属性:
| type | 计数类型(0 - 显示计数, 1 - 点击计数) |
| date | 请求的日期时间(yyyyMMddHHmmss) |
| ip | 网友的IP |
| ipWithProxy | 网友的IP/网友的内部IP(用于判断作弊点击) |
| placementId | 广告产品投放ID |
| websiteId | 站点ID |
| referer | 广告显示/点击来源 |
| encryptIpKeyId | IP的验证串(经过加密的IP字符串 + 密匙ID) |
附录二:
日统计结果表(AFF_DAY_SUMMARY)的属性有:
| recordDate | 对应AccessRecord的'请求的日期时间'(YYYYMMDD) |
| productId | 广告产品ID |
| websiteId | 站点ID |
| pv | 广告显示数 |
| click | (重复)有效点击计数 |
| ipClick | IP单次有效点击计数 |
| clickZB | (重复)作弊点击计数 |
| ipClickZB | IP单次作弊点击计数 |
| referer | 来源次数最多的N个referer |







评论排行榜