当前位置:   article > 正文

大数据之路:阿里巴巴大数据实践

阿里巴巴大数据实践

文章目录

第1章:总述

如果说在IT时代是以自我控制、自我管理为主,那么到了DT(Data Technology)时代,则是以服务大众、激发生产力为主。阿里巴巴大数据系统体系架构主要分为数据采集、数据计算、数据服务和数据应用四大层次。

阿里巴巴大数据系统体系架构图

第2章:日志采集

阿里巴巴的日志采集体系方案包括两大体系:Aplus.JS是Web端(基于浏览器)日志采集技术方案:UserTrack是APP端(无线客户端)日志采集技术方案。

2.1 浏览器的页面日志采集

浏览器的页面型产品/服务的日志采集可分为如下两大类。

  1. 页面浏览(展现)日志采集。
  2. 页面交互日志采集。

2.1.1 页面浏览日志采集流程

在HTML文档内增加一个日志采集节点,当浏览器解析时将自动触发一个特定的HTTP请求到日志采集服务器。主要过程如下:

  1. 客户端日志采集。在HTML文档内植入日志采集脚本的动作可以由业务服务器在响应业务请求时动态执行,也可以在开发页面时由开发人员手动植入。
  2. 客户端日志发送。采集脚本执行时,会发起一个日志请求,以将采集到的数据发送到日志服务器。
  3. 服务器端日志收集。日志服务器接收到请求后,立即向浏览器发回一个请求成功的响应,以免对页面的正常加载造成影响。
  4. 服务器端日志解析存档。服务器接收到的浏览日志进人缓冲区后,会被一段专门的日志处理程序顺序读出并按照约定的日志处理逻辑解析。

阿里巴巴的页面浏览日志采集框架,不仅指定了上述的采集技术方案,同时也规定了PV日志的采集标准规范,其中规定了PV日志应采集和可采集的数据项,并对数据格式做了规定。

2.1.2 页面交互日志采集

在阿里巴巴,通过一套名为“黄金令箭”的采集方案来解决交互日志的采集问题。“黄金令箭”是一个开放的基于HTTP协议的日志服务,采集步骤如下。

  1. 业务方在“黄金令箭”的元数据管理界面依次注册需要采集交互日志的业务、具体的业务场景以及场景下的具体交互采集点,在注册完成之后,系统将生成与之对应的交互日志采集代码模板。
  2. 业务方将交互日志采集代码植入目标页面,并将采集代码与需要监测的交互行为做绑定。
  3. 当用户在页面上产生指定行为时,采集代码和正常的业务互动响应代码一起被触发和执行。
  4. 采集代码在采集动作完成后将对应的日志通过HTTP协议发送到日志服务器,日志服务器接收到日志后,对于保存在HTTP请求参数部分的自定义数据,即用户上传的数据,原则上不做解析处理,只做简单的转储。

2.1.3 页面日志的服务器端清洗和预处理

在大部分场合下,经过上述解析处理之后的日志并不直接提供给下游使用,一般还需要进行相应的离线预处理。

  1. 识别流量攻击、网络爬虫和流量作弊(虚假流量)。
  2. 数据缺项补正。
  3. 无效数据剔除。
  4. 日志隔离分发。

2.2 无线客户端的日志采集

在阿里巴巴内部,多使用名为UserTrack的SDK来进行无线客户端的日志采集。UserTrack(UT)把事件分成了几类,常用的包括页面事件和控件点击事件等。

2.2.1 页面事件

每条页面事件日志记录三类信息:①设备及用户的基本信息;②被访问页面的信息;③访问基本路径。UT提供了透传参数功能,即把当前页面的某些信息,传递到下一个页面甚至下下一个页面的日志中。

2.2.2 控件点击及其他事件

交互类的行为呈现出高度自定义的业务特征,因此UT提供了一个自定义埋点类,其包括:①事件名称;②事件时长;③事件所携带的属性;④事件对应的页面。UT还提供了一些默认的日志采集方法,比如可以自动捕获应用崩溃,并且产生一条日志记录崩溃相关信息。

2.2.3 特殊场景

随着业务的不断发展,业务的复杂性不断提高,采集需要处理的特殊场景也层出不穷。比如,为了平衡日志大小,减小流量消耗、采集服务器压力、网络传输压力等,采集SDK提供了聚合功能。

2.2.4 H5 & Native日志统一

考虑到后续日志

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/481840
推荐阅读
相关标签
  

闽ICP备14008679号