飞天发布时刻:2024年 Forrester 公有云平台Wave™评估报告解读 了解详情
写点什么

还在用全埋点的方式来监控数据?这款开源软件能够解决你的“麻烦”

  • 2019-11-04
  • 本文字数:2534 字

    阅读完需:约 8 分钟

还在用全埋点的方式来监控数据?这款开源软件能够解决你的“麻烦”

为企业提供更全面的数据能力,实现在业务层面的数据驱动

2019 年 10 月 24 日 -26 日, 以“精益·成长”为主题的“2019 易观 A10 数据智能生态大会”在上海成功举办。此次大会上,易观正式发布了易观方舟 5.0 版本。作为旨在打造精益化企业数据管理的智能数据平台,易观方舟 5.0 版本,在数据采集功能实现层面上,采用了前不久刚刚开源的可视化 SDK 埋点技术。该方式简化了数据管理难度,让数据所见即所得。可视化埋点很大程度上解决了数据采集领域的痛点,是当前业内发展的重要方向之一。


作为一个尚处于发展初期方法,可视化埋点技术对于诸多开发者来说,仍然是一个相对陌生的概念。那么我们应该如何理解可视化埋点,可视化埋点目前已经发展到怎样的地步了,对于数据行业来说,对于数据分析领域来说,可视化埋点技术能带来怎样的改变?

可视化埋点的前言:数据统计

要更加深入了解什么是可视化埋点,首先要了解什么是数据统计。作为产品迭代过程中非常重要的一部分,在互联网化程度不断加深、业务变更如此之快的环境下,准确全面的数据统计能够为公司的发展决策做出高效的方向指引。数据统计在现阶段,更是成为了场景之间、领域之间、企业之间进行合作与融合的数据基础。


数据统计,主要由数据采集和数据分析这两大部分组成,本文将着重介绍【数据采集】这一部分的技术实现与未来发展趋势。数据采集主要 SDK 嵌入的方式来进行数据的挖掘与采集,通过这层确定了数据的来源为后续数据分析提供了最具价值的数据基础。在现阶段,如何快速、准确、无遗漏地获取数据,是数据采集 SDK 所面临的主要挑战。

数据采集 SDK 的发展阶段

回顾过去数据采集方式的发展,主要经历了代码埋点 - 全埋点 - 可视化埋点这 3 个阶段:


  • 代码埋点,在运营人员提出统计需求后,首先产品人员设计前端采集埋点方案,开发人员植入埋点,重新打包发布新版本,最后运营人员拿到新版本提交的数据进行分析。这种埋点方式的优点是非常精准,完全贴合业务需求;但同样缺点也很明显,就是埋点的流程非常漫长,每次增加新的埋点都必须重新升级前端程序,对于统计需求比较紧迫的场景来说并不合适。

  • 全埋点,全埋点方式满足了“对某个细节进行数据统计”的需求,在程序打包时将埋点代码植入每个可操作元素,实现了所有元素的点击数据上报,产品、商务及运营人员都可以筛选出相关按钮的统计数据,同时也避免了重新发版的麻烦;但是全埋点方式的缺点也很明显,就是数据量非常大,从而造成大量服务器资源的浪费。

  • 可视化埋点,如何在不发版的情况下新增统计业务,且能精准地植入埋点,避免全埋点方式下的资源浪费?可视化埋点方式完美解决了这种矛盾。并且可视化埋点的优点不仅于此,其最大意义在于将埋点工作交给了真正关心业务效果的人。开发者只是功能的实现者,他并不关心这个功能实现后能够起到多大的作用。而运营人员则不同,如果能够依照所关心的业务方向进行自定义埋点,就可以灵活及时且更直观的看到运营效果,对于运营人员来说就能够随时感知各个渠道的状况。从而能够解放开发人员的工作量,让关心业务的人主宰整个埋点过程。

模块化设计思想:方舟可视化

现阶段,市面上广泛使用的埋点方式是“全埋点”,但是上文也有提到,全埋点具有数据体量大、服务资源浪费等不足,并且在业务强耦合的场景下,全埋点也很难满足相关的需求。虽然可视化埋点方式目前尚处于发展初期,但其能力已经可以满足甚至替代部分全埋点功能以及简单的业务场景。并且由于可视化埋点的实时修改,立即生效、所见即所改等特性的存在,未来等到可视化埋点技术进一步成熟后,相信将能够很好解决业务强耦合场景下的诸多需求。


方舟可视化目前已经实现了从前端展示、埋点圈选、事件捕获、数据上报的全流程可视化,满足界面交互相关的大部分数据统计需求。方舟可视化产品分为三大部分,分别为可视化 SDK、长链服务端以及前端圈选页面。三端各司其职,默契配合才能实现埋点设计和数据上报,下面这张图概述了在埋点阶段各端的配合流程:



浏览器圈选和长链服务端的主要功能是正确下发埋点指令,在接收到埋点指令后,可视化 SDK 将其转化为准确的数据并上报到服务端 。


为了满足上述的目标,可视化 SDK 需要进行模块化设计,通过将服务端发送的数据流分发到每一个模块下,最终准确完整实现埋点需求。方舟可视化 SDK 整体分为下图中这 4 个模块:



各个模块的功能如下:


1、长链接、数据解析与封装、指令分发这三个模块,实现了 WebSocket 协议的封装,业务数据处理,将每个指令分发到各自的指令处理模块;


2、指令处理模块,主要的指令处理模块包括设备信息(用户封装设备信息上报到前端)、页面信息(用于获取页面截图和结构信息)、埋点信息(用户事件绑定和埋点);


3、事件绑定模块,服务员埋点信息处理模块,收到埋点指令后该模块会查找当前页面,定位埋点目标元素,并设置事件监听;


4、获取埋点配置、埋点上报模块,负责获取当前埋点配置信息,事件触发后通过该模块将埋点数据上报到服务器。



模块间的交互模式


从上面的交互图中可以初步了解方舟可视化的模块化设计思想,通过针对数据流进行模块设计,以数据作为关注点,使每一个模块的输入与输出都与数据流息息相关。


除此之外,通过方舟技术团队的持续攻关,方舟可视化实现了与界面相关的强业务耦合场景,最大限度地覆盖了埋点需求,并最大限度地实现了“将埋点主动权从开发和产品人员转交给运营人员”这一可视化埋点的设计初衷。

方舟可视化的发展方向 - 让数据大众化、全民化

方舟可视化目前正在稳步发展中,已经能够支持界面间的交互相关埋点,但是非界面交互相关场景目前尚无能为力,这也是未来方舟可视化研究的重要方向;除此外支持更多交互场景、适配更多设备与系统、更全面地覆盖事件和属性、不断丰富 SDK 采集的数据、满足更多的业务场景等等众多方向,方舟可视化在这些方面会不断发力。


为了促进行业发展,方舟可视化于近日正式宣布开源,以社区的形式促进可视化 SDK 的持续进化,通过开放接口协同创新,方舟愿与各位社区开发一起,真正实现企业在一次次快速闭环实践的精益成长,并且通过可视化埋点这一技术,降低数据门槛,真正能够将数据价值普及开来,让数据实现真正的大众化与全民化。


目前方舟可视化已经开源,点击【易观方舟开源】即可访问易观方舟于 GitHub 上的开源界面。


2019-11-04 15:376042
用户头像
佘磊 策划编辑

发布了 50 篇内容, 共 21.9 次阅读, 收获喜欢 76 次。

关注

评论

发布
暂无评论
发现更多内容

大牛荐书 | 百度技术大牛都在读的7本书!

百度Geek说

技术 技术人 书籍推荐 技术书籍

python精度控制

里昂

Python 数据结构

源码解析--skywalking agent插件加载流程

cloudcoder

Skywalking 源码剖析 插件设计

OpenYurt 如何 “0 侵入” 攻破云边融合难点

阿里巴巴云原生

云计算 Serverless 容器 云原生 边缘计算

CIO/CTO必读 | 数字转型时代,企业存储支出知多少

焱融科技

存储 焱融科技 CIO 存储成本 IT成本

基于WASM的无侵入式全链路A/B Test实践

韩陆

为语音社交平台加一个防护罩,即构上线实时语音安全方案

ZEGO即构

逆向思维:从小厂到面试大厂,这份学习笔记助我快速成长,实现高薪岗位

Java架构之路

Java 程序员 架构 面试 编程语言

真实!对比(阿里/京东等一线大厂)Java面试真题,自己把自己菜哭了

Java架构之路

Java 程序员 架构 面试 编程语言

网格量化交易机器人系统开发|网格量化交易机器人软件APP开发

系统开发

滴滴开源 LogicFlow:专注流程可视化的前端框架

滴滴技术

「超全!」谷歌大神LeetCode刷题笔记PDF分享

C语言与CPP编程

c++ 程序员 算法 LeetCode 编程、

数字货币量化交易APP开发|数字货币量化交易系统软件开发

系统开发

Docker 镜像加速教程

米开朗基杨

Docker 云原生

insert、update、delete注入总结

Cc.

网络安全

一名叫谙忆的程序员在2021年的具体安排《打工人的那些事》

谙忆

区块链技术在各国政府管理中的运用

CECBC

区块链

币管家软件开发|币管家系统APP开发

系统开发

滴滴Kafka服务体系建设,实战干货都在这里!

滴滴云

大数据 Obsuite 滴滴Kafka

双指针高频面试题:三数之和的「升级篇」...

宫水三叶的刷题日记

面试 LeetCode 数据结构与算法

利用xml实现数据传输

天狼

“他者”德意志(一):“进窄门”的德国AI

脑极体

产业数字金融的数字化与生态化

CECBC

金融

架构设计篇之微服务实战笔记(六)

小诚信驿站

架构师 刘晓成 小诚信驿站 28天写作 架构师成长笔记

【科技改变生活,区块链改变世界】欧科云链徐明星的区块链密码朋克世界

CECBC

区块链

分享我的2021京东4面面经,送给备战金三银四的你

Java架构之路

Java 程序员 架构 面试 编程语言

卓越级!浪潮云通过可信云云管理服务能力评估

瓦力量化交易机器人软件开发|瓦力量化交易机器人APP系统开发

系统开发

容器 & 服务:Docker 应用的 Jenkins 构建(二)

程序员架构进阶

容器 服务化 七日更 28天写作 2月春节不断更

华为发布智能云网“五个一”新能力,助力运营商完成云与网的价值归一

脑极体

应云而生,幽灵的威胁 - 云原生应用交付与运维的思考

阿里巴巴云原生

云计算 容器 微服务 云原生 k8s

还在用全埋点的方式来监控数据?这款开源软件能够解决你的“麻烦”_开源_易观数据采集团队_InfoQ精选文章