2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

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

  • 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:376127
用户头像
佘磊 策划编辑

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

关注

评论

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

商用密码与区块链共推数字经济发展

CECBC

网络安全 数字经济

小熊派开发实践丨漫谈LiteOS之传感器移植

华为云开发者联盟

开发 IoT stm32

关于编码

西贝

Java 编码

Week 4学习总结

balsamspear

极客大学架构师训练营

谁说AI看不懂视频?

华为云开发者联盟

视频 剪辑

在K8S Volume中使用 subPath

东风微鸣

Kubernetes 最佳实践

Java中String占用空间的评估标准

陈德伟

Java jdk 源码剖析

架构师训练营第2期-第一周-学习总结

井中人

二十一、深入Python强大的装饰器

刘润森

Python

数据安全无小事:揭秘华为云GaussDB(openGauss)全密态数据库

华为云开发者联盟

安全 数据 加密

如何基于消息中间件实现分布式事务?我想说的都在这儿了!!

冰河

分布式事务 微服务 分布式数据库 数据一致性 海量数据

epoll服务器解析

菜鸟小sailor 🐕

Java中的String到底占用多大的内存空间?你所了解的可能都是错误的!!

冰河

Java 内存泄露 string 性能调优 内存溢出

微服务的理想与现实

京东科技开发者

云原生

架构师训练营第 2 期第一周作业

井中人

设计数据库集群读写分离并非易事

架构师修行之路

分布式 微服务

如果只推荐一本 Python 书,我要 Pick 它!

Python猫

Python 学习 编程 程序员 码农

容器开发运维人员的Linux操作机配置优化建议

东风微鸣

Kubernetes 最佳实践 k8s入门

区块链赋能供应链金融|应用优势与四类常见模式

CECBC

区块链

终于,SM2国密算法被Linux内核社区接受了!

阿里云基础软件团队

听说你会缓存?

架构师修行之路

redis 缓存 微服务

socket编程

菜鸟小sailor 🐕

websocket

为什么Java容器推荐使用ExitOnOutOfMemoryError而非HeapDumpOnOutOfMemoryError?

东风微鸣

Kubernetes 最佳实践 jvm调优

mongodb源码实现、调优、最佳实践系列-Mongodb网络模块源码实现及性能调优(一)

杨亚洲(专注MongoDB及高性能中间件)

MySQL mongodb 中间件 架构师 分布式数据库mongodb

一致性 hash

garlic

极客大学架构师训练营

Vidyo产品给用户方带来了什么直接的便利

dwqcmo

音视频 集成架构 解决方案 智能硬件

架构作业:一致性hash

Nick~毓

Week 4命题作业

balsamspear

极客大学架构师训练营

大明湖畔昇腾绽放,趵突泉里智能奔涌

脑极体

一文读懂线程池的工作原理(故事白话文)

捡田螺的小男孩

Java 面试 线程池 线程池工作原理

食堂就餐卡系统设计

Griffenliu

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