前言
很多人还没搞清楚PC互联网的时候,移动互联来了;我们还没搞清移动互联的时候,大数据时代又来了。伴随大数据时代的到来,我们生活中产生的数据呈现出巨大的增长,互联网每2天产生的数据相当于2003年之前产生的数据一样多。
马云说过,大数据就是未来的石油。越来越多的互联网公司开始重视数据的应用。数据应用的一个过程是:数据收集——数据整理——数据分析——数据可视化。经济基础决定上层建筑,数据收集是数据应用的基础,数据收集的重要性不言而喻。数据不会撒谎,但生活中,我们往往被数据纯洁的外表所欺骗。所以我们也要注重数据的质量。那么互联网公司是如何收集数据的?这其中就不得不提出一个很关键的人物——「埋点」。
埋点技术
所谓「埋点」,就是在正常的功能逻辑中添加统计逻辑。拿统计微信右上角「+」的点击次数为例,上报的数据可以采用KEY-VALUE形式,我们定义KEY为「CLICK_ADD_BTN」,VALUE的值为点击的次数。当用户点击「+」时,展示菜单的代码会通过按钮的「回调」来触发执行,程序猿在业务代码执行完后,又加上了统计代码,把「CLICK_ADD_BTN」对应的VALUE加1,「+」被统计到了一次使用。
目前常见的前端埋点技术有3类:代码埋点、可视化埋点、无埋点(无埋点属于埋点的一个子集)。
代码埋点:控件操作发生时通过预先写好的代码来发送数据。
优点:控制发送数据时间,事件自定义属性详细记录
缺点:时间、人力成本大,数据传输的时效性。
可视化埋点:利用可视化交互手段,通过可视化界面配置控件操作与事件操作发生关系。通过后台截屏的方式采集数据。
优点:成本低,速度快
缺点:行为记录信息少,支持的分析方式少
无埋点:Growing IO和Heap analytics,这2家是国内与国外的无埋点技术公司代表。用户展现界面元素时,通过控件绑定触发事件,事件被触发的时候系统会有相应的接口让开发者处理这些行为。现在市面上主流无埋点做法有两种,一种是预先跟踪所有的渲染信息,一种是滞后跟踪的渲染信息。
优点:无需埋点,方便快捷
缺点:行为记录信息少,传输压力大
总结
最后,关于埋点有无问题,可视化埋点和代码优劣问题,不管选择哪个都要从自身情况去考虑,自身分析场景来体验和对比,选择最适合自己的。适合自己的才是最好的。
本文作者:数控小V
来源:51CTO