淘宝大数据体系之数据采集

  • 2019 年 10 月 7 日
  • 笔记

Alibaba作为一家拥有多业务的互联网公司,进行用户数据的大数据分析,已成为推动数据化运营的必然选择。大数据分析,第一步必然是取得需要的数据,今天我们来看看淘宝的用户行为数据采集的细节。任何一个小话题,细看都大有文章。

一、用户在购物网站上的任何一个行为都有分析的价值

1、基础信息。UV(独立ip地址的浏览量)、PV(页数被查看的数量)解决了流量来源统计、页面流量统计的问题,但随着互联网业务的发展,这些分析数据已经远远不能满足用户细分研究的需求。

2、扩展信息。用户在鼠标在某个链接上的停留时间、输入焦点的移动变化(代表对某个信息的关注度),这些行为并不触发浏览器加载新页面,无法通过常规的log日志分析出来,必须用新的办法。

二、WEB浏览器客户端的数据采集办法

1、客户端日志采集。因为数据不能完全依靠传统基于http服务器端的log文件进行进行数据分析,因为用户鼠标的移动并不会产生log文件的修改。新的处理办法:日志采集工作一般由一小段被植入页面html文档的JavaScript脚本来执行,脚本被客户端浏览器执行时,当用户的事件发生时,将触发JavaScript脚本执行。

2、客户端日志发送。采集脚本执行时,会向日志服务器发一个日志请求,将采集到的数据发送到日志服务器。在多数情况下,事件发生后会被立即执行,但在个别情况,会延迟发送。采集到的信息一般以URL参数放到http请求行,被送到日志服务器进行处理。

3、服务器端日志收集。日志服务器收到客户端送来的日志请求后,会向浏览器发送响应,以避免客户端的浏览器处于未执行成功的状态。同时日志服务器将数据写入缓冲区,完成收集。

4、服务器端日志解析存档。进入缓冲区的数据,会被日志处理程序读出,并被解析,通过处理后转存入标准的日志文件中。并通过消息中间件,将数据送给实时、或离线大数据分析工具中。

三、APP端的数据采集方法

APP分为两种:纯Native APP、嵌入H5的Hybrid APP。现在一般都是第二种,例如大家使用的支付宝。Native页面一般采用采集SDK进行日志采集,而H5的App则采用浏览器的页面日志采集方式进行采集。

四、高峰时期日志采集的处理办法

以双11时段,客户端的日志采集量非常惊人,因此需要做特殊处理。

1、对日志进行分析,结合日志的重要程度、大小,实现了日志服务器端的拆分。

2、在实时处理方面,也做了很多优化,提高吞吐量。

3、延时上报。即让满足条件的日志被暂存在客户端,待流量下降后,再将数据上传到服务器端。