一文了解字节跳动“埋点验证平台”

网站建设4年前发布
54 0 0

埋点数据作为推荐、搜索、产品优化的基石,其数据质量的重要性不言而喻,而要保障埋点数据的质量,埋点验证则首当其冲。工欲善其事必先利其器,要做好埋点验证会面临很多技术挑战:易用性、准确性、实时性、稳定性、扩展性,如何攻克这些挑战呢,其实还是技术,这也是本文的主旨所在。,目前埋点验证已在字节内部得到广泛使用,通过一键扫码开启验证、实时上报验证、自动生成验证报告,解决了埋点数据验证难、埋点质量保障难的问题。,埋点生命周期:4+6,202303052051487379bff86123ba79222787e6e76ca8fedb9835367,先简单介绍一下产品,以便大家能对平台有整体认识,方便大家更加轻松地理解技术,平台主要包括三部分:埋点验证方案、埋点验证工具、埋点验证报告,三者相辅相成,极大的降低了用户的埋点验证成本。,20230305205250e17e1c52169d4059dbf196e46ce2597cc765b3421,20230305205004c38e6be213f2af6750b217df432a86988714a0377,埋点验证的链路很长,可以简单概括为三个环节:埋点上报、埋点接收、埋点验证,每个环节都有一定的复杂性,此处先介绍整体流程,让大家可以快速对全流程有所认识。其次将主要聚焦于“埋点验证”环节,此环节的重中之重是埋点验证引擎,它包括 4 个部分:规则生成器、规则选择器、埋点验证器和埋点推送器,通过对埋点验证引擎的详解让大家对“埋点如何验证”有更深的理解。,2023030520500545f7f55398eaec77f3081326f09543042f0a41633,规则生成器将“埋点验证方案”转换为“验证规则”。埋点验证方案是验证规则的逻辑视图,方便用户操作,降低验证规则的编写和维护成本。通过逻辑视图和物理视图两层逻辑,确保了埋点验证引擎底层不受业务变化的影响。,20230305205005469323c325ff949eda3217f694e65b0e7b29a2761,埋点方案,埋点验证方案支持 2 种:,按元数据验证:,埋点数据:,埋点规则,埋点规则字段说明,规则选择器将依据“埋点”中的关键信息,从“验证规则池”中选择出对应的“埋点验证规则”。,20230305205006d2e4fa575dd6ad0f52a232b34f363b6f3052ac214,埋点验证器将依据“基础验证规则”以及“规则选择器”产出的“埋点验证规则”,对“埋点数据”进行验证并产出“验证结果”。,202303052050060942eeb92a5eaec1e169474bb758dd146f17ae819,埋点推送器将“埋点验证结果”推送到前端,推送的过程存在数据交互频繁、数据体积大、数据传输稳定性的要求,这里我们自建 Push 服务进行数据传输,保证数据实时可达。,20230305205150b52c64d28130f1546c31204420203fcde548a0451,快速接入埋点验证,快速开始埋点验证,20230305205007e627f72793991fa626e82480296d9a79a3ea2d549,2023030520515087a915d5827e7c7f3326056cc232c34b7ef198267,埋点验证结果准确、用户可信,埋点验证引擎必须保证埋点验证结果的准确性,才能降低验证成本。针对埋点数据本身的格式验证,我们采用了 JsonSchema 作为验证手段,以支持完善的验证规则、可信的验证结果。上文中的“规则生成器”、“规则选择器”、“埋点验证器”也都在一定程度上保证了埋点验证结果的准确性。,event:video_play,jsonSchema,event:video_play,event:video_play,202303052050087987de38510eda2e1b585092a180f09f52a0e0767,20230305205009f53458787887a7c93858893c7a6f0380a65913914,埋点数据实时可见,埋点验证场景下,服务端和验证平台需要频繁地进行数据交互,所以我们自建了 Push 服务(基于 WebSocket 的封装),能够保证数据的实时畅通性,2023030520500933f72044307d3daad980053efdc1930b34bc1e287,埋点数据可靠不丢失,2023030520501073f514f44a547ffe3f3326537b882e5ff31b9e402,快速接入新的埋点数据格式,20230305205010823e0fc28bb2a56deb911544f29d45c61e0f1e507,埋点验证是保障埋点质量的有效方式,此方式属于事前验证,适用于埋点频繁变化的业务场景,需要一定程度的人工介入,能够解决基本的埋点质量问题。但是对于核心埋点场景来说,这种方式的验证成本较高,需要重复的人力投入,为了解决核心埋点验证成本高的问题,我们正在探索落地其他方式:

© 版权声明

相关文章