浏览器页面日志分类:
1)页面浏览(展现)日志:浏览量 PV(page view)、访客量 UV(unique view)
2)页面交互日志采集:用来获取用户兴趣或者优化用户体验
页面请求流程:
1)用户在浏览器地址栏输入地址:如淘宝
2)浏览器解析用户请求,按照HTTP协议中约定的格式将请求转化为HTTP请求发送给淘宝服务器
一个标准的HTTP请求构成:
①请求行:包含URL、HTTP版本号、请求方法
②请求报头:请求携带的附加信息,包含很多Header Field,最关键的信息为cookie记录了用户上次登录状态和身份信息
③请求正文:一般而言为空
3)服务器收到请求后解析请求,进行相应的逻辑处理,将结果以HTTP响应的方式返回浏览器
一个标准的HTTP响应构成:
①状态行:状态码,如200,404
②响应报头:服务器指示浏览器尽享相关动作,如新建某user的cookie或者更新cookie
③请求正文:页面HTML文档封装在正文内
4) 浏览器接收相应内容,按照HTML文档规范解析内容并尽享渲染,最终展现在屏幕上
上述第一、二步请求尚未到达服务器,第三步执行后无法确保用户打开页面,所以日志采集的动作在第四步。在响应文档的适当位置添加日志采集节点,当浏览器解析到采集节点时出发HTTP请求到采集服务器。
页面浏览(展现)日志采集流程:采集-发送-收集-解析
1)客户端日志采集:由嵌入在HTML中的一段javascript脚本执行,采集信息如下:
2)客户端日志发送:js脚本采集到日志数据后向日志采集服务器发起HTTP请求,采集到的信息以URL参数的形式放在HTTP请求的请求行内。
3)服务器端日志收集:响应请求,把采集到的数据存入缓冲区。
4)服务器日志解析:把缓冲过去中的日志数据逐条取出进行解析成标准日志文件,通过实时消息通道供其他后端程序使用。
制定日志采集标准规范,格式化日志数据可以为后续处理打下基础
页面交互日志采集:
1)鼠标或者输入焦点的变化:代表用户关注内容的变化
2)对某些交互的反应:判断用户体验是否简单易懂
3)不同类别的交互日志千差万别,没有统一的采集内容,如:页面游戏交互与用户购物车交互所需记录的行为数据和数据类型都不相同,呈现了很高的自由度
页面交互日志采集流程:(阿里巴巴“黄金令牌”是一个基于HTTP协议的日志服务)
1)业务方在交互采集系统注册需要的业务、场景、交互采集点,系统生成与之对应的代码模板。
2)业务方把代码模板嵌入HTML目标页面,把代码与交互行为做绑定。
3)当用户进行制定操作,采集代码被触发执行并把采集到的数据通过HTTP请求发送给采集服务器。
4)日志采集服务器收到交互日志,对于用户自定义的交互数据原则上不做处理,直接转存。随后由业务系统自行解析。
页面日志的服务器端清洗和预处理:在时效性要求宽松的场景下,需要对采集到的数据进行离线预处理
1)对日志进行合法性校验,通过算法进行识别归纳出对应的过滤规则
2)数据缺项补正:包括取值归一、标准化数据处理、反向补正(根据日志数据对稍早的数据做回补或者修订)
3)无效数据剔除:因业务变更或者配置不当造成部分无效数据,需要定时检查进行剔除
4)日志隔离分发:处于对数据安全以及业务特征的考虑,某些日志数据在进入公共数据环境前需要进行隔离
网友评论