掌桥专利:专业的专利平台
掌桥专利
首页

一种埋点测试工具的数据处理方法、装置和电子设备

文献发布时间:2023-06-19 18:34:06


一种埋点测试工具的数据处理方法、装置和电子设备

技术领域

本发明涉及数据采集领域,具体涉及一种埋点测试工具的数据处理方法、装置和电子设备。

背景技术

所谓“埋点”,是数据采集领域(尤其是用户行为数据采集领域)的术语,指的是针对特定用户行为或事件进行捕获、处理和发送的相关技术及其实施过程。比如用户某个icon点击次数、观看某个视频的时长等等。埋点的技术实质,是先监听软件应用运行过程中的事件,当需要关注的事件发生时进行判断和捕获。而埋点测试,则是测试人员测试软件中的埋点代码是否正确部署。

目前,专利文件CN112148606A提出了一种埋点测试工具,将埋点测试工具安装在已经具有应用程序的终端上(例如手机),当测试人员需要测试应用程序的埋点时,只需在终端上打开埋点测试工具,然后在应用程序中触发埋点,埋点测试工具则会利用校验规则实时检测触发的埋点,并将埋点数据直接展示在终端屏幕上。相比现有技术在很多场景下,需要测试人员先手动触发埋点,测试人员再去后端服务器查看数据的方式,提高了应用程序的埋点测试效率。但是目前的测试工具拦截到埋点数据后,数据比对和数据分析过程比较混乱,没有一个统一的管理机制,展现的效果是在测试过程中埋点数据一旦有问题则实时弹窗显示在终端屏幕上,但是测试结束后有问题的数据无法溯源。虽然一定程度上提高了测试效率,但是企业的数据分析师往往还需要针对埋点数据进行后续数据分析,这使得埋点测试工具只适用于埋点测试人员,测试结束后却不能继续与数据分析师很好对接。

发明内容

有鉴于此,本发明实施方式提供了一种埋点测试工具的数据处理方法、装置和电子设备,从而提高了埋点测试工具拦截的埋点数据在后续进行数据分析时的实用性。

根据第一方面,本发明提供了一种埋点测试工具的数据处理方法,应用于终端设备,所述终端设备上安装了埋点测试工具和待测试的应用程序,所述方法包括:通过所述埋点测试工具拦截用户在所述应用程序中触发埋点时的埋点数据;将所述埋点数据存入预创建的埋点数据容器中,所述埋点数据容器是以埋点事件名称为键值、以埋点数据实体为值的存储集合;将所述埋点数据容器与标准事件列表逐行进行比对,所述标准事件列表是从服务器接收的用于记录标准埋点事件的列表;将每一行的比对结果对应添加到所述埋点数据容器的值中,并生成所述埋点数据容器的埋点报告文件。

可选地,所述将所述埋点数据存入预创建的埋点数据容器中,包括:将所述埋点数据按照预设的事件名称进行过滤;将过滤后的埋点数据存入所述预创建的埋点数据容器中。

可选地,所述方法还包括:创建展示列表页面;将所述埋点数据容器中的值按照所述展示列表页面各个事件的列表展示顺序,分发到所述展示页表页面对应的事件行中。

可选地,所述创建展示列表页面,包括:在所述终端设备的dokit平台中添加用于呈现所述展示列表页面的展示列表工具。

可选地,所述方法还包括:在dokit平台中添加所述埋点测试工具的开关控件,并将所述开关控件的dokit平台入口添加到所述应用程序;若所述应用程序当前的安装环境为开发环境或测试环境,则在所述应用程序中显示所述dokit平台入口;若所述应用程序当前的安装环境为生产环境,则在所述应用程序中屏蔽所述dokit平台入口。

可选地,所述方法还包括:当埋点测试结束时,清空所述埋点数据容器。

可选地,所述拦截用户触发所述应用程序中的埋点时的埋点数据,包括:通过AOP技术拦截用户触发埋点时的埋点数据。

根据第二方面,本发明实施例提供了一种埋点测试工具的数据处理装置,应用于终端设备,所述终端设备上安装了埋点测试工具和待测试的应用程序,所述装置包括:数据拦截模块,用于通过所述埋点测试工具拦截用户在所述应用程序中触发埋点时的埋点数据;本地存储模块,用于将所述埋点数据存入预创建的埋点数据容器中,所述埋点数据容器是以埋点事件名称为键值、以埋点数据实体为值的存储集合;数据校验模块,用于将所述埋点数据容器与标准事件列表逐行进行比对,所述标准事件列表是从服务器接收的用于记录标准埋点事件的列表;数据分发模块,用于将每一行的比对结果对应添加到所述埋点数据容器的值中,并生成所述埋点数据容器的埋点报告文件。

根据第三方面,本发明实施例提供了一种电子设备,包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行第一方面,或者第一方面任意一种可选实施方式中所述的方法。

根据第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机从而执行第一方面,或者第一方面任意一种可选实施方式中所述的方法。

本申请提供的技术方案,具有如下优点:

本申请提供的技术方案,在埋点测试工具中,预先创建用于临时存储埋点数据的埋点数据容器,且该容器是埋点事件名称为键值、以埋点数据实体为值的存储集合。该容器支持自定义的数据类型、并且支持通过事件名称直接获取到对应的数据,在此基础上还支持按照不同方式排序,同时支持多线程操作保证了数据的安全性。之后,接收服务器下发的标准事件列表,从而将埋点数据容器与标准事件列表逐行进行比对,校验埋点数据容器每一行的数据实体是否存在问题,并将校验结果作为值存入对应事件名称的每一行中,最后按照埋点数据容器键值对的存储形式生成本次测试对应的埋点报告文件。针对下一次测试,则单独生成下一次测试的埋点报告文件。从而使数据分析人员根据需要追溯每一次测试生成的埋点报告文件,并且根据键值对存储形式的报告可以快速清晰的定位到埋点问题,提高数据的统计和分析效率。

附图说明

通过参考附图会更加清楚的理解本发明的特征和优点,附图是示意性的而不应理解为对本发明进行任何限制,在附图中:

图1示出了本发明一个实施方式中一种埋点测试工具的数据处理方法的步骤示意图;

图2示出了本发明一个实施方式中埋点数据容器的结构示意图;

图3示出了本发明一个实施方式中埋点测试数据分发展示的流程示意图;

图4示出了本发明一个实施方式中一种埋点测试工具的数据处理装置的结构示意图;

图5示出了本发明一个实施方式中一种电子设备的结构示意图。

具体实施方式

为使本发明实施方式的目的、技术方案和优点更加清楚,下面将结合本发明实施方式中的附图,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。

请参阅图1,在一个实施方式中,一种埋点测试工具的数据处理方法,应用于终端设备,终端设备上安装了埋点测试工具和待测试的应用程序,具体包括以下步骤:

步骤S101:通过埋点测试工具拦截用户在应用程序中触发埋点时的埋点数据。

步骤S102:将埋点数据存入预创建的埋点数据容器中,埋点数据容器是以埋点事件名称为键值、以埋点数据实体为值的存储集合。

步骤S103:将埋点数据容器与标准事件列表逐行进行比对,标准事件列表是从服务器接收的用于记录标准埋点事件的列表。

步骤S104:将每一行的比对结果对应添加到埋点数据容器的值中,并生成埋点数据容器的埋点报告文件。

具体地,在本实施例中,为了方便统一管理和扩展新的功能,埋点数据的保存尤为重要。在埋点测试工具中,预先创建用于临时存储埋点数据的埋点数据容器,埋点数据容器采用key-value“键值对”存储系统,支持自定义的数据类型,并且容器支持增加和剔除的功能。在此基础上容器中的数据还支持按照不同方式的排序,同时支持多线程操作保证了数据的安全性。如图2所示,当用户进行本次埋点测试时,通过在应用程序中触发埋点,埋点测试工具对触发的埋点数据予以拦截,埋点数据容器则作为校验和格式整理的中间件,存入拦截的埋点数据,将混乱的埋点数据进行有序管理。其中,埋点数据容器的key“键值”则为各个埋点的埋点事件名称,埋点数据容器的value“值”为各个埋点数据的数据实体。埋点测试工具将拦截的埋点数据存入埋点数据容器后,将埋点数据容器和服务器下发的与标准事件列表逐行进行比对,从而校验每一行的埋点数据是否准确。比对操作包括但不限于比对key属性的类型、value值是否为空、是否在规定范围之内,以用来判断当前的客户端埋点是否正确。然后将每个事件的比对结果按照key对应存储在埋点数据容器的value中,此时埋点数据容器的value中包括埋点数据实体和比对结果,截止到此本次埋点测试流程结束。最后基于本次测试的埋点数据容器生成key-value类型的埋点报告文件,从而使数据分析人员根据需要可以追溯每一次测试生成的埋点报告文件,并且根据报告key-value的存储形式,可以快速清晰的定位到埋点问题,提高数据的统计和分析效率,避免埋点测试数据无法溯源、没有存档、存档无规则或者存档混乱的问题。

当埋点测试结束时,本实施例会清空埋点数据容器,以保证下一次测试时,埋点数据容器中的数据准确。

具体地,在一实施例中,上述步骤S102,具体包括如下步骤:

步骤一:将埋点数据按照预设的事件名称进行过滤;

步骤二:将过滤后的埋点数据存入预创建的埋点数据容器中。

具体地,由于程序开发通过版本迭代频繁,每次版本迭代只有部分新增埋点和修改埋点,如果将应用程序的所有埋点均进行一遍测试,一方面降低设备比对数据的速度,另一方面由于拦截的埋点数据较多,使埋点测试人员无法快速定位当前版本的新增埋点和修改埋点,降低人员分析效率。即使测试人员只想针对新增埋点或修改埋点进行触发,但是也无法避免会触发无关埋点,例如:用户进行购买和取消购买分别为两个埋点,同时除了购买和取消购买埋点之外,当前页面还有浏览界面埋点,点击其他按钮的埋点,如果不进行筛选和过滤那么测试人员进行检测则会很复杂。换言之,假设用户只需要测试三级界面的埋点,但是进入三级界面必须要点击一级界面和二级界面,那么就不可避免的统计了一级界面和二级界面的访问埋点,从而产生了冗余数据。基于此,在本实施例中,当用户对某一版本的埋点进行触发之后,还利用过滤规则对拦截的埋点数据过滤,本实施例采用的过滤规则为事件名称,按照预设的事件名称从所有拦截的埋点数据中过滤出与预设事件名称匹配的埋点数据,再将其存入预创建的埋点数据容器中,从而进一步提高了埋点数据的可用性,提高了埋点测试的效率,避免了数据混乱。

具体地,在一实施例中,本发明实施例提供的一种埋点测试工具的数据处理方法,还包括如下步骤:

步骤三:创建展示列表页面。

步骤四:将埋点数据容器中的值按照展示列表页面各个事件的列表展示顺序,分发到展示页表页面对应的事件行中。

具体地,在本实施例中,为了进一步提高埋点测试的用户体验,相比埋点数据出现问题直接弹窗的展示方法,本实施例提供了一种新的展示方案。首先预先创建列表展示界面,在该界面中展示格式以列表形式呈现,列表的每一行符合key-value形式,该界面作为独立界面不悬浮于其他页面之上,从而在测试结束后,将埋点数据容器中的值按照展示列表页面各个事件名称的列表展示顺序,分发到展示页表页面对应的事件行中。使用户清晰获取各个埋点事件对应的埋点数据实体以及测试结果,提高用户的问题判定和分析效率,提高用户测试体验。

在本实施例中,实现列表展示页面的方法是在终端设备的dokit平台中添加用于呈现展示列表页面的展示列表工具。dokit平台是一款开源的产品研发全生命周期的效率平台,将该平台安装在终端设备上,可以从代码层面接入一个终端设备,从而利用该工具即可在不连接电脑的情况下,直接在终端设备上对终端设备进行开发,并且该平台包含多种开发工具,能够大幅度提高开发效率。如图3所示,本实施例通过在dokit平台中添加自定义的展示列表工具进行显示埋点的结果数据,于是埋点测试工具将埋点数据容器中的数据通过分发器分发给展示列表工具进行前端的可视化界面。

具体地,在一实施例中,本发明实施例提供的一种埋点测试工具的数据处理方法,还包括如下步骤:

步骤五:在dokit平台中添加埋点测试工具的开关控件,并将开关控件的dokit平台入口添加到应用程序。

步骤六:若应用程序当前的安装环境为开发环境或测试环境,则在应用程序中显示dokit平台入口。

步骤七:若应用程序当前的安装环境为生产环境,则在应用程序中屏蔽dokit平台入口。

具体地,在本实施例中,还通过环境配置动态控制埋点测试工具是否开启。针对开发环境、测试环境和生产环境,埋点测试工具的开关会分情况显示。本实施例中,埋点测试工具的开关控件在dokit平台中添加,并将开关控件的dokit平台入口添加到应用程序。当用户在终端设备上使用应用程序时,如果当前是开发环境或测试环境,则用户可以在应用程序中找到dokit平台入口,点击入口进入dokit平台,并在dokit平台中选择是否触发埋点测试工具的开关控件,以控制埋点测试工具的开启或者关闭,从而在测试环境与开发环境,埋点测试工具可配置的与应用程序集成在一起。如果当前是正式使用的生产环境,则应用程序自动屏蔽dokit平台入口,只保留公众用户的使用权,维持应用程序稳定。

具体地,在一实施例中,通过AOP技术拦截用户触发埋点时的埋点数据,目的为了关注点的分离,提高模块化的注入。例如通过在测试方法前后插入指定的代码块进行字节码增强方法。不会侵入现有的代码,也不需要对现有代码进行改造,实现增强和记录数据的能力,不会对现有逻辑进行更改,保证业务逻辑的安全性。

通过上述步骤,本申请提供的技术方案,在埋点测试工具中,预先创建用于临时存储埋点数据的埋点数据容器,且该容器是埋点事件名称为键值、以埋点数据实体为值的存储集合。该容器支持自定义的数据类型、并且支持通过事件名称直接获取到对应的数据,在此基础上还支持按照不同方式排序,同时支持多线程操作保证了数据的安全性。之后,接收服务器下发的标准事件列表,从而将埋点数据容器与标准事件列表逐行进行比对,校验埋点数据容器每一行的数据实体是否存在问题,并将校验结果作为值存入对应事件名称的每一行中,最后按照埋点数据容器键值对的存储形式生成本次测试对应的埋点报告文件。针对下一次测试,则单独生成下一次测试的埋点报告文件。从而使数据分析人员根据需要追溯每一次测试生成的埋点报告文件,并且根据键值对存储形式的报告可以快速清晰的定位到埋点问题,提高数据的统计和分析效率。

如图4所示,本发明实施例还提供了一种埋点测试工具的数据处理装置,应用于终端设备,终端设备上安装了埋点测试工具和待测试的应用程序,该装置包括:

数据拦截模块101,用于通过埋点测试工具拦截用户在应用程序中触发埋点时的埋点数据。详细内容参见上述方法实施例中步骤S101的相关描述,在此不再进行赘述。

本地存储模块102,用于将埋点数据存入预创建的埋点数据容器中,埋点数据容器是以埋点事件名称为键值、以埋点数据实体为值的存储集合。详细内容参见上述方法实施例中步骤S102的相关描述,在此不再进行赘述。

数据校验模块103,用于将埋点数据容器与标准事件列表逐行进行比对,标准事件列表是从服务器接收的用于记录标准埋点事件的列表。详细内容参见上述方法实施例中步骤S103的相关描述,在此不再进行赘述。

数据分发模块104,用于将每一行的比对结果对应添加到埋点数据容器的值中,并生成埋点数据容器的埋点报告文件。详细内容参见上述方法实施例中步骤S104的相关描述,在此不再进行赘述。

本发明实施例提供的埋点测试工具的数据处理装置,用于执行上述实施例提供的埋点测试工具的数据处理方法,其实现方式与原理相同,详细内容参见上述方法实施例的相关描述,不再赘述。

通过上述各个组成部分的协同合作,本申请提供的技术方案,在埋点测试工具中,预先创建用于临时存储埋点数据的埋点数据容器,且该容器是埋点事件名称为键值、以埋点数据实体为值的存储集合。该容器支持自定义的数据类型、并且支持通过事件名称直接获取到对应的数据,在此基础上还支持按照不同方式排序,同时支持多线程操作保证了数据的安全性。之后,接收服务器下发的标准事件列表,从而将埋点数据容器与标准事件列表逐行进行比对,校验埋点数据容器每一行的数据实体是否存在问题,并将校验结果作为值,对应事件名称存入每一行中,最后按照埋点数据容器的键值对存储形式生成本次测试对应的埋点报告文件。针对下一次测试,则单独生成下一次测试的埋点报告文件。从而使数据分析人员根据需要追溯每一次测试生成的埋点报告文件,并且根据键值对存储形式的报告可以快速清晰的定位到埋点问题,提高数据的统计和分析效率。

图5示出了本发明实施例的一种电子设备,该设备包括处理器901和存储器902,可以通过总线或者其他方式连接,图5中以通过总线连接为例。

处理器901可以为中央处理器(Central Processing Unit,CPU)。处理器901还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。

存储器902作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如上述方法实施例中的方法所对应的程序指令/模块。处理器901通过运行存储在存储器902中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施例中的方法。

存储器902可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器901所创建的数据等。此外,存储器902可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器902可选包括相对于处理器901远程设置的存储器,这些远程存储器可以通过网络连接至处理器901。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

一个或者多个模块存储在存储器902中,当被处理器901执行时,执行上述方法实施例中的方法。

上述电子设备具体细节可以对应参阅上述方法实施例中对应的相关描述和效果进行理解,此处不再赘述。

本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,实现的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random Access Memory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;存储介质还可以包括上述种类的存储器的组合。

虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下作出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。

相关技术
  • 一种样本数据处理方法、样本数据处理装置及电子设备
  • 一种材质的数据处理方法、装置、电子设备及存储介质
  • 一种流量数据的聚类处理方法、装置及电子设备
  • 一种数据处理方法、装置、介质和电子设备
  • 一种数据处理方法、装置、电子设备及存储介质
  • 一种数据埋点方法、装置、电子设备及存储介质
  • 一种页面埋点的数据处理方法和装置
技术分类

06120115611842