埋点页面自动生成的方法、装置、计算机设备及存储介质
文献发布时间:2023-06-19 09:58:59
技术领域
本申请属于大数据技术领域,具体涉及一种埋点页面自动生成的方法、装置、计算机设备及存储介质。
背景技术
随着移动互联网技术的发展,移动互联网用户已达到近10亿,在这个大数据时代,如何提高产品的用户活跃度、增加用户量,从而提升品牌知名度已经成为各大互联网APP厂商的普遍关注的问题,而通过收集用户行为,进而根据用户行为实现产品的精准化推荐无疑是一种有效的营销手段。
目前,为收集用户行为数据,APP厂商采用的一种方式是在APP中设置埋点,当用户基于APP进行各种操作,如打开某个页面或选择页面中的某个选项时,埋点就会捕获用户的这些行为数据并通过APP中集成的软件开发工具包SDK(Software Development Kit)上报至相应的服务器,从而实现用户行为的统计。
然而,目前开发人员在APP包中布置埋点时通常是手动埋点,即基于业务统计需求在APP包的不同位置加入不同的埋点代码,而由于实际埋点众多,工程量极大,手动埋点的方式不仅效率低下而且很容易出现错误,在后续代码维护时,开发人员也需要基于不同的代码位置进行埋点代码修改,操作十分繁琐,因此手动埋点的方式已经不能满足开发人员的开发需求。
发明内容
本申请实施例的目的在于提出一种埋点页面自动生成的方法、装置、计算机设备及存储介质,以解决现有的手动埋点的方式不仅效率低下而且很容易出现错误的技术问题。
为了解决上述技术问题,本申请实施例提供一种埋点页面自动生成的方法,采用了如下所述的技术方案:
一种埋点页面自动生成的方法,包括:
接收待埋点页面的配置指令,提取配置指令中的页面信息集合,其中,页面信息集合包括页面配置信息、埋点配置信息和控件接口信息;
根据页面配置信息生成待埋点页面的页面布局,在页面布局中提取待埋点页面的页面布局信息;
根据控件接口信息和页面布局信息在待埋点页面上配置对应的视图控件,获取视图控件的属性信息;
基于埋点配置信息和视图控件的属性信息生成埋点页面。
进一步地,在根据控件接口信息和页面布局信息在待埋点页面上配置对应的视图控件,获取视图控件的属性信息的步骤之后,还包括:
根据页面布局信息生成待埋点页面的视图树;
通过视图控件的属性信息对视图树进行渲染,生成待埋点页面的渲染树;
历遍渲染树的节点,根据渲染树的节点特性对视图控件进行分类,其中,视图控件包括可监控视图控件和不可监控视图控件。
进一步地,通过视图控件的属性信息对视图树进行渲染,生成待埋点页面的渲染树的步骤,包括:
从视图控件的属性信息中获取视图控件的哈希值;
根据视图控件的哈希值,将视图树转化为渲染树。
进一步地,基于埋点配置信息和视图控件的属性信息生成埋点页面的步骤,包括:
提取埋点配置信息中需求文档,对需求文档进行解析,获取埋点配置条件;
将埋点配置条件与可监控视图控件的属性信息进行匹配,根据匹配结果,生成埋点页面。
进一步地,根据匹配结果,生成埋点页面的步骤,具体包括:
根据埋点配置条件向可监控视图控件添加一条监控事件,并为监控事件分配一个对应的监控事件ID;
基于可监控视图控件的属性信息和视图树生成查找可监控视图控件的路径信息;
将监控事件、监控事件ID和路径信息组合生成埋点文件;
通过JavaScript脚本编译埋点文件,生成埋点代码,在待埋点页面上运行埋点代码,生成埋点页面。
进一步地,在基于埋点配置信息和视图控件的属性信息生成埋点页面的步骤之后,还包括:
接收待埋点页面的测试指令,触发埋点页面的功能模块;
接收埋点测试文件,并在埋点页面的功能模块上运行埋点测试文件,获取测试结果;
将测试结果与预设标准结果进行比对,根据比对结果,确定埋点文件的准确性。
进一步地,在将测试结果与预设标准结果进行比对,根据比对结果,确定埋点文件的准确性的步骤之后,还包括:
接收待埋点页面的更新指令,提取更新指令中的更新配置信息;
比对更新配置信息的版本号与待埋点页面当前埋点配置信息的版本号;
若待埋点页面当前埋点配置信息的版本号低于更新配置信息的版本号,则基于更新配置信息和视图控件的属性信息生成新的埋点页面。
为了解决上述技术问题,本申请实施例还提供一种埋点页面自动生成的装置,采用了如下所述的技术方案:
一种埋点页面自动生成的装置,包括:
信息提取模块,用于接收待埋点页面的配置指令,提取配置指令中的页面信息集合,其中,页面信息集合包括页面配置信息、埋点配置信息和控件接口信息;
布局生成模块,用于根据页面配置信息生成待埋点页面的页面布局,在页面布局中提取待埋点页面的页面布局信息;
控件配置模块,用于根据控件接口信息和页面布局信息在待埋点页面上配置对应的视图控件,获取视图控件的属性信息;
页面生成模块,用于基于埋点配置信息和视图控件的属性信息生成埋点页面。
为了解决上述技术问题,本申请实施例还提供一种计算机设备,采用了如下所述的技术方案:
一种计算机设备,包括存储器和处理器,存储器中存储有计算机可读指令,处理器执行计算机可读指令时实现如上述任一项的埋点页面自动生成的方法的步骤。
为了解决上述技术问题,本申请实施例还提供一种计算机可读存储介质,采用了如下所述的技术方案:
一种计算机可读存储介质,计算机可读存储介质上存储有计算机可读指令,计算机可读指令被处理器执行时实现如上述任一项的埋点页面自动生成的方法的步骤。
与现有技术相比,本申请实施例主要有以下有益效果:
本申请公开了一种埋点页面自动生成的方法、装置、计算机设备及存储介质,该方法通过接收待埋点页面的页面配置信息、埋点配置信息和控件接口信息,并根据页面配置信息生成待埋点页面的页面布局,在页面布局中提取待埋点页面的页面布局信息,根据控件接口信息和页面布局信息在待埋点页面上配置对应的视图控件,获取视图控件的属性信息,基于埋点配置信息和视图控件的属性信息生成埋点页面。本申请的技术方案基于埋点配置信息和视图控件的属性信息生成对应的埋点文件,然后通过埋点文件自动生成具有埋点代码的用户页面,相对于现有技术中人工圈选视图控件、手工填写埋点信息、手动编辑埋点代码的方式,提高了埋点的效率和准确率。
附图说明
为了更清楚地说明本申请中的方案,下面将对本申请实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请可以应用于其中的示例性系统架构图;
图2示出了根据本申请的埋点页面自动生成的方法的一个实施例的流程图;
图3示出了图2中步骤S204的一种具体实施方式的流程图;
图4示出了图3中步骤S302的一种具体实施方式的流程图;
图5示出了根据本申请的埋点页面自动生成的装置的一个实施例的结构示意图;
图6示出了根据本申请的计算机设备的一个实施例的结构示意图。
具体实施方式
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
为了使本技术领域的人员更好地理解本申请方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(Moving PictureExpertsGroup Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(MovingPictureExperts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上显示的页面提供支持的后台服务器。
需要说明的是,本申请实施例所提供的埋点页面自动生成的方法一般由服务器执行,相应地,埋点页面自动生成的装置一般设置于服务器中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,示出了根据本申请的埋点页面自动生成的的方法的一个实施例的流程图。所述的埋点页面自动生成的方法,包括以下步骤:
S201,接收待埋点页面的配置指令,提取配置指令中的页面信息集合,其中,页面信息集合包括页面配置信息、埋点配置信息和控件接口信息。
其中,埋点也称统计埋点,是指在产品流程需求位置植入相关统计代码,用于追踪每次用户的行为,统计关键业务的使用程度。通过埋点可以结合建立用户模型来具体化用户在使用产品中的操作行为,还原出用户画像及用户行为,建立数据收集和分析平台,通过数据分析来优化产品。通过数据收集和分析平台,能提供统计分析服务,帮助跟踪用户对应用的使用行为,并且通过网站后台,提供良好的数据展示。
比如要记录某个用户在某个保险APP上的投保操作过程,该投保操作是通过点击“确认投保”按钮来提交信息的,那么就需要在“确认投保”按钮的点击操作实现代码里加一段埋点代码,以捕获用户点击“确认投保”按钮时产生的即时数据。当用户点击“确认投保”按钮时,系统自动接收这些即时数据并保存在存储器中,这样就方便分析人员对于用户操作的查询了。其中,埋点中配置有埋点代码,埋点代码通常是由嵌入到浏览器端/应用程序客户端的收集用户行为数据的程序代码和后端用于监测用户行为数据收集结果是否异常的程序代码组成。通过埋点代码可以获取到用户行为信息,也可以用于判断监测用户行为数据收集结果是否异常,如通过在网页内嵌套JavaScript脚本,当用户访问网页时,触发统计脚本获取访问数据,后端Java程序判断数据结构是否异常。
用户可以通过浏览器打开一任意一个应用,或者直接打开安装于电子设备上的客户端程序上的任意一个应用,用户在该应用的页面上的业务数据进行业务操作,该页面上设有供用户进行该业务操作的操作载体(可以是按钮也可以是别的发生数据操作的Action(动作)例如控件)。其中,在该按钮或者控件上设置相应的埋点以监控用户通过该按钮或者控件所进行的业务操作,通过埋点代码可以监控该业务数据的变化以及业务操作的信息。该业务操作的信息可以包括操作人和/或操作时间。
具体的,当需要新建埋点页面时,服务器向用户端发送一条针对于待埋点页面的配置指令,用户端接收待埋点页面的配置指令,提取待埋点页面的配置指令中的页面信息集合,其中,页面信息集合包括页面配置信息、埋点配置信息和控件接口信息。页面配置信息包含所要生成的页面的具体内容或参数,页面配置信息用于生成页面布局。埋点配置信息包括埋点需求文档,埋点需求文档记录了埋点对应的平台类型、埋点版本号、埋点标识、埋点类型、控件标识、标签、埋点功能描述中的一种或者多种组合。控件接口信息用于调用服务器系统视图控件库中的视图控件。
需要说明的是,埋点标识包括目标页面标识及相应目标页面中的埋点顺序号,由于埋点所涉及到的业务类型及功能点不同,并且很多情况下待埋点页面也不是单一页面,而是包括多个页面的页面组合,因此为了系统对埋点的数据进行区分,则需要对每个埋点均设置相应的标识,且对埋点的标识进行管理和维护。
在本实施例中,埋点页面自动生成的方法运行于其上的电子设备(例如图1所示的服务器)可以通过有线连接方式或者无线连接方式接收待埋点页面的配置指令。需要指出的是,上述无线连接方式可以包括但不限于3G/4G连接、WiFi连接、蓝牙连接、WiMAX连接、Zigbee连接、UWB(ultra wideband)连接、以及其他现在已知或将来开发的无线连接方式。
S202,根据页面配置信息生成待埋点页面的页面布局,在页面布局中提取待埋点页面的页面布局信息。
其中,页面配置信息包含待埋点页面的页面内容或页面参数,页面配置信息用于生成页面布局,页面配置信息由前端开发人员根据需求进行开发。例如,待监控应用是名为“某某保险”的移动应用中的一个待埋点页面的页面,在本申请一个实施例的待埋点页面的页面布局图,在移动应用“某某保险”的当前页面的页面布局图中存在一个“查看详情”按钮,用户点击了“查看详情”按钮后,在其下方展示出5个可供选择的选项,分别“投保简介”、“投保须知”、“保障条款”、“服务协议”和“我的健告”,这5个选项均可以展开,在本申请具体实施例中,为“查看详情”按钮和其下方的5个选项均设置了对应的视图控件,且配置的这些视图控件均为点击控件,通过这些视图控件获取用户的在使用该移动应用过程中执行的具体操作。
S203,根据控件接口信息和页面布局信息在待埋点页面上配置对应的视图控件,获取视图控件的属性信息;
具体的,根据页面布局信息布置相应的视图控件,布置时,服务器系统通过控件接口信息与视图控件库进行验证和匹配,当验证通过时,视图控件库开放控件调用接口供服务器系统使用,服务器根据页面布局信息的要求通过调用接口在视图控件库中获取页面布局信息内容相对应的视图控件,并根据页面布局信息把获取到的视图控件配置在待埋点页面上。其中,可以根据页面布局信息的要求布置待埋点页面上各个部分相应的视图控件,如待埋点页面上某些部分需要监控,某些部分不需要监控,因此需要根据实际需求布置相应的视图控件。视图控件的属性信息包括控件名称、控件ID、位置、尺寸、可见性和父子关系中的至少一种。
S204,基于埋点配置信息和视图控件的属性信息生成埋点页面。
具体的,通过埋点配置信息和视图控件的属性信息生成对应的埋点文件,然后对埋点文件进行编译,生成埋点代码,在待埋点页面上运行埋点代码,自动生成埋点页面。
在上述实施例中,本申请公开了一种埋点页面自动生成的方法,该方法通过接收待埋点页面的页面配置信息、埋点配置信息和控件接口信息,并根据页面配置信息生成待埋点页面的页面布局,在页面布局中提取待埋点页面的页面布局信息,根据控件接口信息和页面布局信息在待埋点页面上配置对应的视图控件,获取视图控件的属性信息,基于埋点配置信息和视图控件的属性信息生成埋点页面。本申请的技术方案基于埋点配置信息和视图控件的属性信息生成对应的埋点文件,然后通过埋点文件自动生成具有埋点代码的用户页面,相对于现有技术中人工圈选视图控件、手工填写埋点信息、手动编辑埋点代码的方式,提高了埋点的效率和准确率。
进一步地,在根据控件接口信息和页面布局信息在待埋点页面上配置对应的视图控件,获取视图控件的属性信息的步骤之后,还包括:
根据页面布局信息生成待埋点页面的视图树;
通过视图控件的属性信息对视图树进行渲染,生成待埋点页面的渲染树;
历遍渲染树的节点,根据渲染树的节点特性对视图控件进行分类,其中,视图控件包括可监控视图控件和不可监控视图控件。
进一步地,通过视图控件的属性信息对视图树进行渲染,生成待埋点页面的渲染树的步骤,包括:
从视图控件的属性信息中获取视图控件的哈希值;
根据视图控件的哈希值,将视图树转化为渲染树。
具体的,根据页面布局信息生成待埋点页面的视图树,基于视图控件的属性信息,将视图树转化为渲染树。在将视图树转化为渲染树时,先从视图控件的属性信息中获取控件的HashCode值,再根据得到的HashCode值,将视图树转化为渲染树。
在本实施例中,首先遍历视图树中的所有元素,即从视图树的根控件开始,逐一向下查找子控件,在查找过程中,在各个父控件的控件属性信息中父子关系这一项,即当前控件的Subviews字段里,记录当前控件的所有子控件的HashCode的值,再根据所有控件的HashCode的值来组织生成渲染树。同时,根据渲染树的节点特性中的可点击性,判断出对应的视图控件是否可监控,只有当可点击性为True时,其对应的视图控件才是可监控的。其中,渲染树的每一个节点都对应一个视图控件。上述实施例中,通过历遍渲染树的节点特性中的可点击性,判断出对应的视图控件是否为可监控视图控件,若属于可监控视图控件,则为其添加一条监控事件,方便后续的生成埋点页面,若不属于可监控视图控件,则不要添加一条监控事件,表示该视图控件不需要进行监控。
进一步地,请参考图3,图3示出了图2中步骤S204的一种具体实施方式的流程图,基于埋点配置信息和视图控件的属性信息生成埋点页面的步骤,包括:
S301,提取埋点配置信息中需求文档,对需求文档进行解析,获取埋点配置条件;
S302,将埋点配置条件与可监控视图控件的属性信息进行匹配,根据匹配结果,生成埋点页面。
具体的,提取埋点配置信息中需求文档,并对需求文档进行解析,获取埋点配置条件,对埋点配置条件和可监控视图控件进行匹配,根据匹配结果,生成埋点页面。当匹配成功时,可以根据埋点配置条件对可监控视图控件参数进行设置,并记录可监控视图控件参数,生成与该可监控视图控件对应的埋点文件,根据页面布局信息和埋点文件生成埋点页面,本方案通过条件匹配和自动调整可监控视图控件参数生成埋点文件替代了现有技术中人工圈选视图控件、手工填写埋点信息、手动编辑埋点代码的方式,提高了效率和准确率。
进一步地,请参考图4,图4示出了图3中步骤S302的一种具体实施方式的流程图,根据匹配结果,生成埋点页面的步骤,具体包括:
S401,根据埋点配置条件向可监控视图控件添加一条监控事件,并为监控事件分配一个对应的监控事件ID;
S401,基于可监控视图控件的属性信息和视图树生成查找可监控视图控件的路径信息;
S402,将监控事件、监控事件ID和路径信息组合生成埋点文件;
S403,通过JavaScript脚本编译埋点文件,生成埋点代码,在待埋点页面上运行埋点代码,生成埋点页面。
具体的,根据埋点配置条件向可监控视图控件添加一条监控事件,再对监控事件分配一个对应的监控事件ID,根据可监控视图控件及其控件属性信息,利用视图树生成查找该控件的路径信息,然后将可监控视图控件的监控事件、监控事件ID和路径信息组合生成埋点文件,然后通过JavaScript脚本编译得到的埋点文件,生成埋点代码,在待埋点页面上运行埋点代码,自动生成埋点页面。
在上述实施例中,通过向可监控视图控件添加一条监控事件,对监控事件分配一个对应的监控事件ID,以及对可监控视图控件的监控事件、监控事件ID和路径信息整合自动生成埋点文件,相对于现有技术中人工圈选视图控件、手工填写埋点信息、手动编辑埋点代码的方式,提高了效率和准确率。
需要说明的是,在视图树上查找某个可监控视图控件的位置,并根据该视图控件的HashCode的值找到该视图控件的父控件,继续向上查找查找与该视图控件的具有关联关系的视图控件,直到找到视图树的根控件为止,基于上述查找的过程生成对应的查找路径,得到该可监控视图控件的路径信息,将已选定的可监控控件的监控事件、监控事件ID和路径信息组合生成埋点文件,在本申请一种具体的实施例中,通过查找视图树生成对应的查找路径的代码如下所示:
在如上述查找路径的代码所示,“id”表示本次监控事件对应的的监控事件ID,“name”表示本次监控事件的项目名称,“type”表示可监控视图控件的类型,其值为“click”说明可监控视图控件的类型为点击控件,“path”表示具体的路径,其中包含路径信息,是查找可监控视图控件所必须的信息,path中从上到下依次为视图树结构中的根控件到具体选定的视图控件,“id_name”表示具体视图控件名称,如button0、button1、button2等,其中button0可认为是根控件,“index”为点击操作次数统计,如button0被点击了5次。
进一步地,在基于埋点配置信息和视图控件的属性信息生成埋点页面的步骤之后,还包括:
接收待埋点页面的测试指令,触发埋点页面的功能模块;
接收埋点测试文件,并在埋点页面的功能模块上运行埋点测试文件,获取测试结果;
将测试结果与预设标准结果进行比对,根据比对结果,确定埋点文件的准确性。
在基于埋点配置信息和视图控件的属性信息生成埋点页面之后,还包括对所述埋点页面进行测试。具体的,服务器接收待埋点页面的测试指令,并自动触发埋点页面的功能模块,触发埋点页面的功能模块之后,服务器继续接收埋点测试文件,并在埋点页面的功能模块的测试页面上运行埋点测试文件,获取测试结果,将测试结果与预设标准结果进行比对,根据比对结果,确定埋点文件的准确性。其中,预设标准结果为开发人员提前导入的埋点测试文件对应的标准埋点结果。
在本实施例中,埋点页面自动生成的方法运行于其上的电子设备(例如图1所示的服务器)可以通过有线连接方式或者无线连接方式接收待埋点页面的测试指令和埋点测试文件。需要指出的是,上述无线连接方式可以包括但不限于3G/4G连接、WiFi连接、蓝牙连接、WiMAX连接、Zigbee连接、UWB(ultra wideband)连接、以及其他现在已知或将来开发的无线连接方式。
进一步地,在将测试结果与预设标准结果进行比对,根据比对结果,确定埋点文件的准确性的步骤之后,还包括:
接收待埋点页面的更新指令,提取更新指令中的更新配置信息;
比对更新配置信息的版本号与待埋点页面当前埋点配置信息的版本号;
若待埋点页面当前埋点配置信息的版本号低于更新配置信息的版本号,则基于更新配置信息和视图控件的属性信息生成新的埋点页面。
在待埋点页面完成埋点后的使用过程中,可以对埋点页面进行更新。具体的,服务器接收待埋点页面的更新指令,并提取更新指令中的更新配置信息,比对更新配置信息的版本号与埋点页面当前埋点配置信息的版本号;若待埋点页面当前埋点配置信息的版本号低于更新配置信息的版本号,则基于更新配置信息和视图控件的属性信息生成新的埋点页面。其中,更新配置信息包含新的埋点配置信息。
在本实施例中,埋点页面自动生成的方法运行于其上的电子设备(例如图1所示的服务器)可以通过有线连接方式或者无线连接方式接收待埋点页面的更新指令。需要指出的是,上述无线连接方式可以包括但不限于3G/4G连接、WiFi连接、蓝牙连接、WiMAX连接、Zigbee连接、UWB(ultra wideband)连接、以及其他现在已知或将来开发的无线连接方式。
需要强调的是,为进一步保证上述配置指令、测试指令、埋点测试文件和更新指令的私密和安全性,上述配置指令、测试指令、埋点测试文件和更新指令还可以存储于一区块链的节点中。
本申请所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,该计算机可读指令可存储于一计算机可读取存储介质中,该计算机可读指令在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
进一步参考图5,作为对上述图2所示方法的实现,本申请提供了一种埋点页面自动生成的装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图5所示,本实施例所述的埋点页面自动生成的装置包括:
信息提取模块501,用于接收待埋点页面的配置指令,提取配置指令中的页面信息集合,其中,页面信息集合包括页面配置信息、埋点配置信息和控件接口信息;
布局生成模块502,用于根据页面配置信息生成待埋点页面的页面布局,在页面布局中提取待埋点页面的页面布局信息;
控件配置模块503,用于根据控件接口信息和页面布局信息在待埋点页面上配置对应的视图控件,获取视图控件的属性信息;
页面生成模块504,用于基于埋点配置信息和视图控件的属性信息生成埋点页面。
进一步地,该埋点页面自动生成的装置还包括:
视图树生成模块,用于根据页面布局信息生成待埋点页面的视图树;
渲染树生成模块,用于通过视图控件的属性信息对视图树进行渲染,生成待埋点页面的渲染树;
控件分类模块,用于历遍渲染树的节点,根据渲染树的节点特性对视图控件进行分类,其中,视图控件包括可监控视图控件和不可监控视图控件。
进一步地,渲染树生成模块包括:
哈希值获取单元,用于从视图控件的属性信息中获取视图控件的哈希值;
渲染树生成单元,用于根据视图控件的哈希值,将视图树转化为渲染树。
进一步地,页面生成模块504包括:
配置条件获取单元,用于提取埋点配置信息中需求文档,对需求文档进行解析,获取埋点配置条件;
页面生成单元,用于将埋点配置条件与可监控视图控件的属性信息进行匹配,根据匹配结果,生成埋点页面。
进一步地,页面生成单元具体包括:
监控事件添加子单元,用于根据埋点配置条件向可监控视图控件添加一条监控事件,并为监控事件分配一个对应的监控事件ID;
路径信息获取子单元,用于基于可监控视图控件的属性信息和视图树生成查找可监控视图控件的路径信息;
埋点文件生成子单元,用于将监控事件、监控事件ID和路径信息组合生成埋点文件;
页面生成子单元,用于通过JavaScript脚本编译埋点文件,生成埋点代码,在待埋点页面上运行埋点代码,生成埋点页面。
进一步地,该埋点页面自动生成的装置还包括:
测试指令接收模块,用于接收待埋点页面的测试指令,触发埋点页面的功能模块;
测试指令运行模块,用于接收埋点测试文件,并在埋点页面的功能模块上运行埋点测试文件,获取测试结果;
测试指令结果比对模块,用于将测试结果与预设标准结果进行比对,根据比对结果,确定埋点文件的准确性。
进一步地,该埋点页面自动生成的装置还包括:
更新指令接收模块,用于接收待埋点页面的更新指令,提取更新指令中的更新配置信息;
版本号比对模块,用于比对更新配置信息的版本号与待埋点页面当前埋点配置信息的版本号;
埋点页面更新模块,用于当待埋点页面当前埋点配置信息的版本号低于更新配置信息的版本号时,基于更新配置信息和视图控件的属性信息生成新的埋点页面。
本申请公开了一种埋点页面自动生成的装置,该装置通过接收待埋点页面的页面配置信息、埋点配置信息和控件接口信息,并根据页面配置信息生成待埋点页面的页面布局,在页面布局中提取待埋点页面的页面布局信息,根据控件接口信息和页面布局信息在待埋点页面上配置对应的视图控件,获取视图控件的属性信息,基于埋点配置信息和视图控件的属性信息生成埋点页面。本申请的技术方案基于埋点配置信息和视图控件的属性信息生成对应的埋点文件,然后通过埋点文件自动生成具有埋点代码的用户页面,相对于现有技术中人工圈选视图控件、手工填写埋点信息、手动编辑埋点代码的方式,提高了埋点的效率和准确率。
为解决上述技术问题,本申请实施例还提供计算机设备。具体请参阅图6,图6为本实施例计算机设备基本结构框图。
所述计算机设备6包括通过系统总线相互通信连接存储器61、处理器62、网络接口63。需要指出的是,图中仅示出了具有组件61-63的计算机设备6,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable GateArray,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
所述存储器61至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器61可以是所述计算机设备6的内部存储单元,例如该计算机设备6的硬盘或内存。在另一些实施例中,所述存储器61也可以是所述计算机设备6的外部存储设备,例如该计算机设备6上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(FlashCard)等。当然,所述存储器61还可以既包括所述计算机设备6的内部存储单元也包括其外部存储设备。本实施例中,所述存储器61通常用于存储安装于所述计算机设备6的操作系统和各类应用软件,例如埋点页面自动生成的方法的计算机可读指令等。此外,所述存储器61还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器62在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器62通常用于控制所述计算机设备6的总体操作。本实施例中,所述处理器62用于运行所述存储器61中存储的计算机可读指令或者处理数据,例如运行所述埋点页面自动生成的方法的计算机可读指令。
所述网络接口63可包括无线网络接口或有线网络接口,该网络接口63通常用于在所述计算机设备6与其他电子设备之间建立通信连接。
本申请公开了一种计算机设备,该计算机设备通过接收待埋点页面的页面配置信息、埋点配置信息和控件接口信息,并根据页面配置信息生成待埋点页面的页面布局,在页面布局中提取待埋点页面的页面布局信息,根据控件接口信息和页面布局信息在待埋点页面上配置对应的视图控件,获取视图控件的属性信息,基于埋点配置信息和视图控件的属性信息生成埋点页面。本申请的技术方案基于埋点配置信息和视图控件的属性信息生成对应的埋点文件,然后通过埋点文件自动生成具有埋点代码的用户页面,相对于现有技术中人工圈选视图控件、手工填写埋点信息、手动编辑埋点代码的方式,提高了埋点的效率和准确率。
本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令可被至少一个处理器执行,以使所述至少一个处理器执行如上述的埋点页面自动生成的方法的步骤。
本申请公开了存储介质,该存储介质通过接收待埋点页面的页面配置信息、埋点配置信息和控件接口信息,并根据页面配置信息生成待埋点页面的页面布局,在页面布局中提取待埋点页面的页面布局信息,根据控件接口信息和页面布局信息在待埋点页面上配置对应的视图控件,获取视图控件的属性信息,基于埋点配置信息和视图控件的属性信息生成埋点页面。本申请的技术方案基于埋点配置信息和视图控件的属性信息生成对应的埋点文件,然后通过埋点文件自动生成具有埋点代码的用户页面,相对于现有技术中人工圈选视图控件、手工填写埋点信息、手动编辑埋点代码的方式,提高了埋点的效率和准确率。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。
- 埋点页面自动生成的方法、装置、计算机设备及存储介质
- 动态页面中的埋点处理方法、装置和计算机设备