作者简介
阿里巴巴数据技术及产品部。定位于阿里集团数据中台,为阿里生态内外的业务、用户、中小企业提供全链路、全渠道的数据服务。作为阿里大数据战略的核心践行者,致力于“让大数据赋能商业,创造价值”。现在,阿里巴巴数据技术及产品部正通过技术和产品上的创新,探索全域数据的价值,将阿里在大数据上沉淀的能力对外分享,为各行各业的发展带来更多可能性。
本章内容摘要
数据采集作为阿里大数据系统体系的第一环尤为重要。因此阿里巴巴建立了一套标准的数据采集体系方案,致力全面、高性能、规范地完成海量数据的采集,并将其传输到大数据平台。
本章主要介绍数据采集中的日志采集部分,阿里巴巴的日志采集体系方案包括两大体系:
1)Aplus.JS是Web端( 基于浏览器)日志采集技术方案;
2)UserTrack是APP端(无线客户端)日志采集技术方案。
本章从浏览器的页面日志采集、无线客户端的日志采集以及我们遇到的日志采集挑战三块内容来阐述阿里巴巴的日志采集经验。
浏览器的页面日志采集
(1)页面浏览(展现)日志采集
顾名思义,页面浏览日志是指当一个页面被浏览器加载呈现时采集的日志。此类日志是最基础的互联网日志,也是目前所有互联网产品的两大基本指标:页面浏览量(Page View,PV)和访客数(UniqueVisitors,UV)的统计基础。页面浏览日志是目前成熟度和完备度最高,同时也是最具挑战性的日志采集任务,我们将重点讲述此类日志的采集。
(2)页面交互日志采集
当页面加载和渲染完成之后,用户可以在页面上执行各类操作。随着互联网前端技术的不断发展,用户可在浏览器内与网页进行的互动已经丰富到只有想不到没有做不到的程度,互动设计都要求采集用户的互动行为数据,以便通过量化获知用户的兴趣点或者体验优化点。交互日志采集就是为此类业务场景而生的。
除此之外,还有一些专门针对某些特定统计场合的日志采集需求,如专门采集特定媒体在页面被曝光状态的曝光日志、用户在线状态的实时监测等,但在基本原理上都脱胎于上述两大类。
无线客户端的日志采集
众所周知,日志采集多是为了进行后续的数据分析。
移动端的数据采集,一是为了服务于开发者,协助开发者分析各类设备信息;二是为了帮助各APP更好地了解自己的用户,了解用户在APP上的各类行为,帮助各应用不断进行优化,提升用户体验。
无线客户端的日志采集采用采集SDK来完成,在阿里巴巴内部,多使用名为UserTrack的SDK来进行无线客户端的日志采集。无线客户端的日志采集和浏览器的日志采集方式有所不同,移动端的日志采集根据不同的用户行为分成不同的事件,“事件”为无线客户端日志行为的最小单位。基于常规的分析,UserTrack(UT)把事件分成了几类,常用的包括页面事件(同前述的页面浏览)和控件点击事件(同前述的页面交互)等。
对事件进行分类的原因,除了不同事件的日志触发时机、日志内容和实现方式有差异之外,另一方面是为了更好地完成数据分析。在常见的业务分析中,往往较多地涉及某类事件,而非全部事件;故为了降低后续处理的复杂性,对事件进行分类尤为重要。要更好地进行日志数据分析,涉及很多方面的内容,如需要处理Hybrid应用,实现H5和Native日志的统一;又如识别设备,保证同一设备上各应用获取到的设备信息是唯一的。除此之外,对于采集到的数据如何上传,以及后续又如何合理处理等,每个过程都值得我们进行深入的研究和探索。
日志采集的挑战例
对于目前的互联网行业而言,互联网日志早已跨越初级的饥饿阶段(大型互联网企业的日均日志收集量均以亿为单位计量),反而面临海量日志的淹没风险。各类采集方案提供者所面临的主要挑战已不是日志采集技术本身,而是如何实现日志数据的结构化和规范化组织,实现更为高效的下游统计计算,提供符合业务特性的数据展现,以及为算法提供更便捷、灵活的支持等方面。
这里介绍两个最典型的场景和阿里巴巴所采用的解决方案。
1.日志分流与定制处理
2.采集与计算一体化设计
《大数据之路:阿里巴巴大数据实践》为2017年阿里巴巴数据技术及产品部集合了团队内多位数据一线工作者汇编而成,全面系统介绍阿里巴巴大数据系统架构。
来源:阿里数据
原文链接