阿里巴巴数据平台总共分为四个基本层级:
数据采集层:数据采集包括日志采集和数据库数据同步两部分,其中日志采集包括:Aplus.JS是Web端日志采集技术方案;UserTrack是APP端日志采集技术方案。
数据计算层:阿里巴巴的数据计算层包括两大体系:数据存储及计算云平台(离线计算平台MaxCompute和实时计算平台StreamCompute)和数据整合及管理体系(内部称之为“OneData”)。从数据计算频率角度来看,阿里数据仓库可以分为离线数据仓库和实时数据仓库。离线数据仓库主要是指传统的数据仓库概念,数据计算频率主要以天(包含小时、周和月)为单位;如T-1,则每天凌晨处理上一天的数据。阿里数据仓库的数据加工链路也是遵循业界的分层理念,包括操作数据层(Operational Data Store,ODS)、明细数据层(Data Warehouse Detail,DWD)、汇总数据层(Data Warehouse Summary,DWS)和应用数据层(Application Data Store,ADS)。
数据服务层:数据服务层对外提供数据服务主要是通过统一的数据服务平台(为方便阅读,简称为“OneService”)。OneService以数据仓库整合计算好的数据作为数据源,对外通过接口的方式提供数据服务,主要提供简单数据查询服务、复杂数据查询服务(承接集团用户识别、用户画像等复杂数据查询服务)和实时数据推送服务三大特色数据服务。
数据应用层:对内,阿里数据平台产品主要有实时数据监控、自助式的数据网站或产品构建的数据小站、宏观决策分析支撑平台、对象分析工具、行业数据分析门户、流量分析平台等。对外,有服务于商家的数据产品——生意参谋。
日志采集
01、阿里巴巴的日志采集体系方案包括两大体系:
Aplus.JS是Web端( 基于浏览器)日志采集技术方案;
UserTrack是APP端(无线客户端)日志采集技术方案。
02、浏览器的页面日志采集(Aplus.JS)
页面浏览(展现)日志采集
如果你对大数据开发感兴趣,想系统学习大数据的话,可以加入大数据技术学习交流扣扣群:数字5221数字89307,私信管理员即可免费领取开发工具以及入门学习资料
顾名思义,页面浏览日志是指当一个页面被浏览器加载呈现时采集的日志。此类日志是最基础的互联网日志,也是目前所有互联网产品的两大基本指标:页面浏览量(Page View,PV)和访客数(UniqueVisitors,UV)的统计基础。
在HTML文档内植入日志采集脚本的动作可以业务服务器在响应业务请求时动态执行,也可以在开发页面时由开发人员手动植入。在阿里巴巴,这两种方式均有采用,其中自动方式的占比较高。
页面交互日志采集
当页面加载和渲染完成之后,用户可以在页面上执行各类操作。随着互联网前端技术的不断发展,用户可在浏览器内与网页进行的互动已经丰富到只有想不到没有做不到的程度,互动设计都要求采集用户的互动行为数据,以便通过量化获知用户的兴趣点或者体验优化点。交互日志采集就是为此类业务场景而生的。
交互日志呈现高度自定义的业务特征(例如活动页面的游戏交互和购物车页面的功能交互两者截然不同)。在阿里巴巴,通过“黄金令箭”的采集方案来解决交互日志的采集问题。
黄金令箭的步骤:配置元数据->业务方把交互日志采集代码植入目标页面,并将采集代码与需要监测的交互行为做绑定->当用户在页面上产生交互行为时,采集代码触发执行。
页面日志的服务端清洗和预处理
A、依托算法识别非正常的流量并归纳出对应的过滤规则集加以滤除。
B、数据缺项补正:例如,用户登录后对登录前的日志做身份信息的回补。
C、无效数据剔除:某些情况下,因业务变更或配置不当导致的无效数据。
D、日志隔离分发:基于数据安全,某些日志在进入公共环境之前需要做隔离。
03、无线客户端的日志采集(UserTrack)
无线客户端的日志采集采用SDK来完成,在阿里巴巴内部使用名为UserTrack的SDK来进行无线客户端的日志采集。无线客户端的日志采集和浏览器的日志采集方式有所不同