埋点数据分析方法、装置、计算机设备和存储介质
技术领域
本申请涉及计算机领域,特别是涉及一种埋点数据分析方法、装置、计算机设备和存储介质。
背景技术
在软件应用市场竞争日益激烈的今天,越来越多的公司希望通过统计用户操作,来分析用户的行为,进而根据用户行为进行业务的迭代或选型改进。如通过统计点击加入购物车按钮和点击提交订单按钮的点击次数,来判断加入购物车和提交订单之间的转化率,从而根据转化率对业务进行改进。
目前主要是通过在应用软件中设置埋点的方式来记录用户的操作行为。当用户使用应用软件,触发埋点对应的功能时,客户端会将相关的埋点数据发送至服务器,由服务器对埋点数据进行通用的简单分析。但是,当埋点数据分析需求发生变化时,就必须根据分析需求修改代码,使得埋点数据分析效率低。
发明内容
基于此,本发明提出了一种埋点数据分析方法、装置,以解决埋点数据分析效率低的问题。
一种埋点数据分析方法,包括:
当接收到圈选信号时,展示被圈选控件所对应的配置页面;
确定在所述配置页面选定的分析维度;
获取所述被圈选控件与所述分析维度相匹配的控件路径标识;
根据所述控件路径标识生成埋点分析请求,将所述埋点分析请求发送至服务器;
接收所述服务器根据所述埋点分析请求中的控件路径标识对所述被圈选控件的埋点记录进行分析后返回的分析结果。
在其中一个实施例中,所述方法还包括:
分别获取多个被圈选控件基于所述分析维度的控件路径标识;
所述根据控件路径标识生成埋点分析请求,将埋点分析请求发送至服务器包括:
基于多个被圈选控件的控件路径标识以及圈选时序生成埋点分析请求,将所述埋点分析请求发送至服务器,使所述服务器根据所述圈选时序对多个控件路径标识相匹配的埋点记录进行联合分析。
在其中一个实施例中,所述方法还包括:
确定圈选时间相邻的两个被圈选控件的时间间隔;
当所述时间间隔小于阈值时,获取相邻两个被圈选控件中前序被圈选控件的控件路径标识。
一种埋点数据分析方法,包括:
接收终端发送的埋点分析请求;所述埋点分析请求携带了被圈选控件的控件信息及分析维度;
根据所述控件信息,构造所述被圈选控件基于所述分析维度的控件路径标识;
在数据库中查询与所述控件路径标识匹配的埋点记录;
对所述埋点记录进行分析,将分析结果返回至所述终端。
在其中一个实施例中,所述方法还包括:
获取所述被圈选控件的控件类别以及与一个或多个控件的层级信息;
当所述分析维度为第一维度时,利用第一预设标识符将最高层级控件的控件名称至所述被圈选控件的上一层控件的控件名称逐级拼接,得到中间结果;
利用所述第一预设标识符将所述中间结果与所述控件类别拼接,得到与所述被圈选控件相同类别的每个控件的控件路径标识。
在其中一个实施例中,所述方法还包括:
获取所述被圈选控件的控件名称以及一个或多个控件的层级信息;
当所述分析维度为第二维度时,根据所述层级信息,利用第二预设标识符将最高层级控件的控件名称至所述被圈选控件的控件名称逐级拼接,得到所述被圈选控件的控件路径标识。
在其中一个实施例中,所述方法还包括:
获取所述被圈选控件的控件类别以及与一个或多个控件的层级信息;
当所述分析维度为第三维度时,判断所述被圈选控件是否为列表类控件;
若是,利用第二预设标识符将最高层级控件的控件名称至所述被圈选控件的控件名称逐级拼接,得到包含与当前控件属于相同列表的每个控件的控件路径标识。
在其中一个实施例中,所述方法还包括:
获取所述被圈选控件的控件名称以及一个或多个控件的层级信息;
当所述分析维度为第四维度时,获取基于所述被圈选控件展示的文本信息;
根据所述层级信息,利用第二预设标识符将最高层级控件的控件名称至所述被圈选控件的控件名称逐级拼接,得到中间结果;
利用第三预设标识符将文本信息拼接在所述中间结果之后,得到所述被圈选控件基于文本内容的控件路径标识。
一种埋点数据分析装置,包括:
配置页面生成模块,用于当接收到圈选信号时,展示被圈选控件所对应的配置页面;
控件路径标识生成模块,用于确定在所述配置页面选定的分析维度;获取所述被圈选控件与所述分析维度相匹配的控件路径标识;
埋点分析请求生成模块,用于根据所述控件路径标识生成埋点分析请求,将所述埋点分析请求发送至服务器;
分析结果接收模块,用于接收所述服务器根据所述埋点分析请求中的控件路径标识对所述被圈选控件的埋点记录进行分析后返回的分析结果。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
当接收到圈选信号时,展示被圈选控件所对应的配置页面;
确定在所述配置页面选定的分析维度;
获取所述被圈选控件与所述分析维度相匹配的控件路径标识;
根据所述控件路径标识生成埋点分析请求,将所述埋点分析请求发送至服务器;
接收所述服务器根据所述埋点分析请求中的控件路径标识对所述被圈选控件的埋点记录进行分析后返回的分析结果。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
当接收到圈选信号时,展示被圈选控件所对应的配置页面;
确定在所述配置页面选定的分析维度;
获取所述被圈选控件与所述分析维度相匹配的控件路径标识;
根据所述控件路径标识生成埋点分析请求,将所述埋点分析请求发送至服务器;
接收所述服务器根据所述埋点分析请求中的控件路径标识对所述被圈选控件的埋点记录进行分析后返回的分析结果。
上述埋点数据分析方法、装置、计算机设备和存储介质,由于应用程序开发商可以根据分析需求选择分析维度,使得第一终端可以根据不同的分析维度自动生成不同的控件路径标识,然后接收到基于不同控件路径标识得到的不同分析结果,因此相比于传统的当埋点数据分析需求发生变化时,就必须根据分析需求修改代码,上述配置信息处理方法可以根据分析需求的改变,自动返回与分析需求匹配的分析结果,从而提升了埋点数据分析效率。
附图说明
图1是一个实施例的一种埋点数据分析方法的应用环境图;
图2是一个实施例的一种埋点数据分析方法的流程图;
图3是一个实施例的一种埋点数据分析方法的圈选界面示意图;
图4是一个实施例的一种埋点数据分析方法的配置界面示意图;
图5是一个实施例的一种埋点数据分析方法的控件树示意图;
图6是一个实施例的另一种埋点数据分析方法的流程图;
图7是一个实施例的一种埋点数据分析方法的层级信息示意图;
图8是一个实施例的一种埋点数据分析装置的结构框图;
图9是一个实施例的另一种埋点数据分析装置的结构框图;
图10是一个实施例的一种计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的埋点数据分析方法,可以应用于如图1的应用环境中。其中,第一终端110通过网络与服务器120进行通信;服务器120通过网络与第二终端130进行通信。第一终端110和第二终端120可以是智能手机、平板电脑、台式计算机、车载电脑中的至少一种,但并不局限于此。第一终端110与第二终端130上分别运行有目标应用。第一终端110为目标应用开发商所对应的终端,第二终端130为目标应用用户所对应的终端。第一终端110与第二终端130可以为不同终端,也可以为同一终端。第一终端110在目标应用中集成了软件开发包SDK1(Software Development Kit,软件开发工具包)用于监控目标应用开发商的埋点操作,并根据埋点操作采集控件信息,然后将控件信息上报至服务器120,使服务器能够根据埋点分析行为数据生成对应的控件路径标识。第二终端130在目标应用中集成了软件开发包SDK2,用于采集目标应用的全部控件的埋点数据,然后将埋点数据发送至服务器120。服务器120接收埋点数据,根据控件路径标识,对埋点数据进行分析,并将分析结果返回第一终端110。
在一个实施例中,如图2所示,提供了一种埋点数据分析方法,以该方法应用于图1中的第一终端为例进行说明,包括以下步骤:
步骤S210,当接收到圈选信号时,展示被圈选控件所对应的配置页面。
其中,分析维度为表示从何种角度进行数据分析的信息,分析维度包括四种维度,分别为:分析与被圈选控件属于相同类别的每个控件的埋点数据、分析被圈选控件属于相同列表的每个控件的埋点数据、分析被圈选控件的埋点数据和分析文本信息为目标文本信息的被圈选控件的埋点记录。控件信息包括控件名称、控件标识、控件文本信息、控件类别和层级信息。控件历史记录是记载被圈选控件在相邻两次埋点中的前一次埋点的埋点时间、埋点事件名及应用程序的版本号的文本。服务器中具有埋点记录和控件信息的对应关系。埋点事件名可以是用户根据被圈选控件的控件名称,为当前埋点事件进行命名,用以区分埋点事件的标识。配置界面是SDK1基于圈选操作而生成的,对被圈选控件进行配置的界面。配置界面上具有被圈选控件的分析维度选择按键、被圈选控件的控件历史记录、被圈选控件和埋点事件名输入框。
具体地,第一终端为应用程序开发商的移动端,应用程序开发商在应用程序中嵌入SDK1,并点击启动圈选按钮启动圈选操作时,第一终端根据应用程序开发商的点击操作生成对应的圈选信号。SDK1监听圈选信号的生成,当接收到圈选信号时,SDK1根据圈选信号获取被圈选控件的控件信息,根据控件信息生成配置界面和查询指令,并将查询指令发送至服务器。服务器接收查询指令,根据查询指令中的控件信息,在数据表中查询与控件信息对应的控件历史记录,若查询到控件历史记录时,将控件历史记录打包发送至SDK1。SDK1接收控件历史记录,并在配置界面中显示被圈选控件的控件历史记录。若服务器未查询到被圈选控件的控件历史记录时,服务器向SDK1发送未查询到历史记录提示信息。SDK1接收提示信息,并在配置界面中显示此提示信息。
例如,如图3的圈选界面所示,当应用程序开发商点击启动埋点功能按钮后,SDK1会在应用程序的当前页面生成圈选框,应用程序开发商拖拽圈选框至待埋点控件处,如图3中的“记一笔”按钮处,并调整圈选框的大小,以实现对待埋点控件的圈选。SDK1判断圈选框静止时间,当圈选框静止时间超过阈值时,可以认为应用程序开发商已经完成对待埋点控件的圈选。SDK1收集被圈选控件的控件信息,并根据控件信息生成对应的配置界面,如根据“记一笔”按钮的控件信息生成如图4所示的配置界面。应用程序开发商根据控件历史记录选择是否重新对被圈选的控件进行埋点,当选择对控件进行重新埋点时,应用程序开发商在配置界面中填写埋点事件名并选择被圈选控件的分析维度。SDK1获取埋点事件名,并将埋点事件名、当前时间、应用程序的版本号和控件信息发送至服务器,以使服务器将埋点事件名、当前时间、应用程序的版本号和控件信息对应存储。
又例如,当应用程序开发商点击启动埋点功能按钮后,SDK1会监听应用程序开发商对控件的触摸操作,当发现应用程序开发商触摸控件,并保持静止不动后,SDK1记录保持静止的时间,在静止时间超过阈值时,将应用程序开发商触摸的控件确定为待埋点控件,并生成圈选框,自动圈选待埋点控件。
步骤S220,确定在配置页面选定的分析维度。
具体地,当应用程序开发商在配置界面中选择分析维度后,SDK1拦截应用程序开发商的操作,并根据应用程序开发商的点击操作,获取在配置页面中选定的分析维度。
步骤S230,获取被圈选控件与分析维度相匹配的控件路径标识。
其中,控件路径标识是SDK1为页面控件生成的标识,通过控件路径标识可查询对应的控件。控件路径标识分为绝对路径标识,相对路径标识,绝对元素标识和列表容器标识。根据当前控件的绝对路径标识和绝对元素标识,可以唯一确定控件;根据当前控件的相对路径标识,可以确定与当前控件属于相同类别的全部控件,即相同类别的控件具有相同的相对路径标识;根据当前元素的列表容器标识可以确定与当前控件属于同一列表的全部控件,即属于同一列表中的控件的列表容器标识相同。SDK1中具有分析维度与控件路径标识的对应关系。页面数据包括当前页面的全部控件的控件信息。控件树,也称为DOM树(Document Object Model,文档对象模型),是SDK1根据控件所在页面的页面数据生成的能够反映各控件之间的层级关系的对象模型。如图5所示,图5为控件树的示意图,根节点就是窗口(UIWindow),其中UIWindow为窗口节点名称,而其他的节点就组成了这棵树的枝干的叶子。将位于当前节点的上一层节点称为当前节点的父级节点,如将图5中的视图控制器(UILayoutContainerView)节点的上一层节点UIWindow(窗口)节点作为视图控制器
(UILayoutContainerView)节点的父级节点。
具体地,当获取到分析维度时,SDK1根据分析维度与控件路径标识的对应关系,确定与当前分析维度对应的控件路径标识。例如当确定当前的分析维度为分析与被圈选控件属于相同类别的每个控件的埋点数据时,SDK1根据预设的对应关系,确定待生成的控件路径标识为相对路径标识。SDK1获取被圈选控件的页面数据,解析页面数据生成控件树,根据控件信息中的控件标识,确定被圈选控件在控件树中的位置,然后,SDK1将被圈选控件在控件树中的位置作为起点,基于控件树节点的父子关系,向上游逐级确定父级节点,并利用标识符拼接被圈选控件的节点名称和父级节点名称,得到控件路径标识。标识符包括第一标识符、第二标识符和第三标识符,且标识符可以为“/”,“_”,“#”,“@”或“*”。
例如,被圈选控件为控件树中的UIButton。当确定待生成路径为相对路径时,SDK1从控件信息中确定被圈选控件的控件类别为“Button”,然后根据控件标识确定被圈选控件在控件树中的节点名称“UIButton”,并向上游逐级查询“UIButton”的父级节点直至根节点,SDK1利用标识符拼接控件类别和UIButton”的父级节点直至根节点的节点名称,得到相对路径标识“//UIWindow//UILayoutContainerView//UIView//Button”。
又例如,被圈选控件为控件树中的UIButton。当确定待生成路径标识为绝对路径标识时,SDK1获取被圈选控件的在控件树中的节点名称,向上游逐级查询“UIButton”的父级节点直至根节点,得到“UIView”、“UILayoutContainerView”、“UIWindow”,SDK1利用标识符拼接“UIButton”、“UIView”、“UILayoutContainerView”、“UIWindow”,得到绝对路径标识“/UIWindow/UILayoutContainerView/UIView/UIButton”。
步骤S240,根据控件路径标识生成埋点分析请求,将埋点分析请求发送至服务器。
步骤S250,接收服务器根据埋点分析请求中的控件路径标识对被圈选控件的埋点记录进行分析后返回的分析结果。
其中,埋点记录是记载应用程序用户对控件的使用情况的记录,如埋点记录中记载了用户点击控件的时间、被点击控件的控件信息、被点击控件的全部控件路径标识。第二终端中集成了软件开发包SDK2,用于监听应用程序用户在应用程序中的操作行为,当监听到用户点击了应用程序中的控件时,SDK2收集被点击控件的点击时间、控件信息和被点击控件所在页面的页面数据,并根据控件信息和页面数据生成绝对路径标识,相对路径标识,绝对元素标识和列表容器标识,其中,SDK2判断被点击的控件是否为列表类别,当为列表类别时,才构造列表容器标识。然后SDK2将控件的点击时间、控件信息和全部控件路径标识作为埋点记录发送至服务器。服务器接收并存储埋点记录。
具体地,第一终端将埋点分析请求发送至服务器后,服务器接收埋点分析请求,并从埋点分析请求中提取出基于分析维度生成的控件路径标识,然后,根据控件路径标识,从埋点记录中筛选出包含基于分析维度生成的控件路径标识的目标埋点记录。分析目标埋点记录,得到分析结果,并将分析结果返回第一终端。例如,统计目标埋点记录的数量,即可得知被圈选控件被应用程序用户点击的次数。又例如,统计目标埋点记录中的控件的点击时间,即可得知被圈选控件的使用高峰期。
本实施例中,根据应用程序开发商的圈选操作,可以生成被圈选控件的配置页面;通过获取在配置页面上输入的分析维度,可以生成基于分析维度的控件路径标识;根据控件路径标识,可以生成埋点分析请求;通过将埋点分析请求发送至服务器,可以接收到服务器的埋点记录分析结果。上述的埋点数据分析方法,由于应用程序开发商可以根据分析需求选择分析维度,使得第一终端可以根据不同的分析维度自动生成不同的控件路径标识,并接收到基于不同控件路径标识得到的不同分析结果,因此相比于传统的当埋点数据分析需求发生变化时,就必须根据分析需求修改代码,上述配置信息处理方法可以根据分析需求的改变,自动返回与分析需求匹配的分析结果,从而提升了埋点数据分析效率。
在一个实施例中,该方法还包括:分别获取多个被圈选控件基于分析维度的控件路径标识;基于多个被圈选控件的控件路径标识以及圈选时序生成埋点分析请求,将埋点分析请求发送至服务器,使服务器根据圈选时序对多个控件路径标识相匹配的埋点记录进行联合分析。
其中,圈选时序是反映应用程序开发商对应用程序中的至少一个控件进行圈选操作的先后顺序的标识。
具体地,第一终端上具有联合圈选启动控件,当启动联合圈选后,应用程序开发商可以模拟应用程序用户的操作,一次性圈选多个控件。SDK1监控应用程序开发商的操作行为,并根据操作行为,生成多个被圈选控件基于分析维度的控件路径标识。SDK1记录在联合圈选期间内,各控件被圈选的圈选时序,并根据圈选时序和控件路径标识生成埋点分析请求,然后发送至服务器。
例如,SDK1监控应用程序开发商的操作行为,当发现应用程序开发商首次圈选了A控件时,SDK1根据A控件的控件信息生成对应的配置界面,并获取应用程序开发商在配置界面中输入的分析维度。SDK1根据分析维度生成对应的控件路径标识,然后在控件路径标识中加入当前圈选的圈选时序,例如,在控件路径标识后加入标识“1”,用以提示服务器应该首先从埋点记录中筛选出A控件的埋点记录。然后,当关闭配置界面时,第一终端自动跳转至点击A控件应该跳转的页面,如A控件为搜索按钮,当关闭配置界面时,第一终端自动跳转至搜索结果页面。SDK1继续监听用户开发商的圈选行为,当再次发现应用开发商圈选B控件时,SDK1在与B控件对应的控件路径标识中添加圈选时序,例如在,在控件路径标识后加入标识“2”,用以提示服务器应该在A控件的埋点记录中筛选出B控件的埋点记录。当开发商结束联合圈选时,SDK1结束监听过程,并将全部控件路径标识打包生成埋点分析请求,然后发送至服务器。服务器接收埋点分析请求,并从埋点分析请求中提取控件路径标识,按照控件路径标识中的圈选时序,对埋点数据进行联合筛选。
又例如,当启动联合圈选时,SDK1根据应用程序生成配置页面,用以获取全部控件的统一的分析维度。当关闭配置页面后,应用程序开发商可以模拟应用程序用户的操作行为,依次点击各控件,此时SDK1不会根据被点击控件再次生成配置页面,而是根据控件的点击行为,正常跳转至应该跳转的页面。SDK1根据控件被点击的先后顺序,依次生成对应的控件路径标识,然后将控件路径标识打包生成埋点分析请求,并发送至服务器,以使服务器根据埋点分析请求对埋点数据进行联合分析。
上述一种埋点数据分析方法,通过监控应用程序开发商的模拟用户操作行为,可以获取到多个控件的控件路径标识和圈选时序,使得后续服务器可以根据控件路径标识和圈选时序对埋点记录进行联合分析,从而能够得到各控件之间的转化率,进而能够根据转化率调整应用程序。
在一个实施例中,该方法还包括:确定圈选时间相邻的两个被圈选控件的时间间隔;当时间间隔小于阈值时,获取相邻两个被圈选控件中前序被圈选控件的控件路径标识。
具体地,当启动联合圈选功能时,SDK1获取控件被圈选的时间,并将相邻两个被圈选控件的时间相减,得到时间间隔。SDK1判断时间间隔是否小于预设的阈值,当时间间隔小于阈值时,可以认为相邻两个被圈选控件中的后序控件的圈选操作为应用程序开发商的误操作,则SDK1只获取前序被圈选控件的控件路径标识,不获取后序被圈选控件的控件路径标识。
上述一种配置信息处理方法,通过判断相邻两个被圈选控件的时间间隔是否大于阈值,来判断后序控件的圈选操作是否为应用程序开发商的误操作,当为应用程序开发商的误操作时,SDK1不获取因误操作而被圈选控件的控件路径标识,从而可以减少应用程序开发商的误操作对埋点数据分析结果的影响。
在一个实施例中,如图6所示,提供了一种埋点数据分析方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
步骤S610,接收终端发送的埋点分析请求;埋点分析请求携带了被圈选控件的控件信息及分析维度。
步骤S620,根据控件信息,构造被圈选控件基于分析维度的控件路径标识。
其中,当前控件的层级信息具有当前控件与上一层级控件的层级关系。
具体地,当服务器接收埋点数据分析请求后,服务器从埋点数据分析请求中提取控件信息,基于控件信息中的层级信息判断当前被圈选控件是否存在上一层级控件,若存在上一层级控件,服务器获取当前被圈选控件的控件名称和上一层级控件的控件名称。服务器获取被圈选控件所在页面的页面数据,将上一层级控件作为当前层级控件,从页面数据中提取当前层级控件的层级信息,然后基于控件层级关系判断当前层级控件是否存在上一层级控件,若存在上一层级控件,服务器从控件层级关系中获取当前层级控件的控件名称和上一层级控件的控件名称。服务器重复将上一层级控件作为当前层级控件,并从控件层级关系中获取当前层级控件的控件名称和上一层级控件的控件名称步骤,直至当前层级控件不存在上一层级控件。服务器按照分析维度,使用标识符选择拼接当前被圈选控件的控件名称与各层级控件的控件名称,得到控件路径标识。
步骤S630,在数据库中查询与控件路径标识匹配的埋点记录。
具体地,当服务器确定分析维度为分析与被圈选控件属于相同列表的每个控件的埋点记录时,服务器从全部埋点记录中筛选包含基于分析维度生成的控件路径标识的埋点记录。例如,服务器分别从每条埋点记录中提取出绝对路径标识,相对路径标识,绝对元素标识和列表容器标识,然后判断提取出的绝对路径标识,相对路径标识,绝对元素标识和列表容器标识中是否包含与基于分析维度生成的控件路径标识,若包含与基于分析维度生成的控件路径标识,则筛选此条埋点记录。当服务器确定分析维度不为被圈选控件属于相同列表的每个控件的埋点记录时,服务器分别从每条埋点记录中提取出绝对路径标识,相对路径标识,绝对元素标识和列表容器标识,然后判断提取出的绝对路径标识,相对路径标识,绝对元素标识和列表容器标识中是否具有与基于分析维度生成的控件路径标识相同的标识,若具有与基于分析维度生成的控件路径标识相同的标识,则筛选此条埋点记录。
步骤S640,对埋点记录进行分析,将分析结果返回至终端。
具体地,服务器根据控件路径标识,从数据库中筛选与控件路径标识对应的埋点数据,然后对埋点数据进行分析,得到分析结果,并将分析结果返回第一终端。
上述的埋点数据分析方法,由于服务器可以根据不同的分析维度,自动生成不同的控件路径标识,并根据不同控件路径标识得到的不同分析结果,因此相比于传统的当埋点数据分析需求发生变化时,就必须根据分析需求修改代码,上述配置信息处理方法可以根据分析需求的改变,自动生成与分析需求匹配的分析结果,从而提升了埋点数据分析效率。
在一个实施例中,该方法还包括:获取被圈选控件的控件类别以及与一个或多个控件的层级信息;当分析维度为第一维度时,利用第一预设标识符将最高层级控件的控件名称至被圈选控件的上一层控件的控件名称逐级拼接,得到中间结果;利用第一预设标识符将中间结果与控件类别拼接,得到与被圈选控件相同类别的每个控件的控件路径标识。
其中,第一维度为,分析与被圈选控件属于相同类别的每个控件的埋点记录。
具体地,服务器从埋点分析请求中提取控件信息,根据控件信息中的层级信息和页面数据中的层级信息,逐层确定上层级控件,直至当前层级控件不存在上一层级控件。服务器获取被圈选控件的上一层控件至最高层级控件的控件名称,并利用第一标识符拼接控件名称和被圈选控件的控件类别,得到相对路径标识。
例如,如图7所示,图7为在页面数据中查询到的基于被圈选控件Button1(按钮1)的层级信息。第一预设标识符可以为“//”。服务器获取并拼接控件名称和被圈选控件的控件类别“Button”,得到相对路径标识“UIWindow//UILayoutContainerView//UIView//Button”。其中“UIWindow”对应“窗口”;“UILayoutContainerView”对应“视图控制器”;“UIView”对应“视图”;“Button1”对应“按钮1”。
上述一种埋点数据分析方法,通过拼接被圈选控件的上一层控件至最高层级控件的控件名称和被圈选控件的控件类别,可以得到相对路径标识,使得后续服务器可以根据相对路径标识从埋点记录中筛选相对路径标识相同的与被圈选控件同类别的控件的埋点记录。
在一个实施例中,该方法还包括:获取被圈选控件的控件名称以及一个或多个控件的层级信息;当分析维度为第二维度时,根据层级信息,利用第二预设标识符将最高层级控件的控件名称至被圈选控件的控件名称逐级拼接,得到被圈选控件的控件路径标识。
其中,第二维度为,分析当前被圈选控件的埋点记录。
具体地,当服务器接收埋点数据分析请求后,服务器从埋点数据分析请求中提取控件信息,根据控件信息中的层级信息和页面数据中的层级信息,逐层确定上层级控件,直至当前层级控件不存在上一层级控件。服务器获取查询到的各层控件的控件名称,并根据第二标识符拼接各控件的控件名称,得到绝对路径标识。
例如,如图7所示,为在页面数据中查询到的基于被圈选控件Button1的层级信息。第二预设标识符可以为“/”。服务器获取并拼接控件名称,得到绝对路径标识“UIWindow/UILayoutContainerView/UIView/Button1”。
上述一种埋点数据分析方法,通过逐层获取控件的层级信息,并根据层级信息获取控件名称,从而能够根据节点名称拼接绝对路径标识,进而能够根据绝对路径标识,从数据库中筛选被圈选控件的埋点记录。
在一个实施例中,该方法还包括:获取被圈选控件的控件类别以及与一个或多个控件的层级信息;当分析维度为第三维度时,判断被圈选控件是否为列表类控件;若是,利用第二预设标识符将最高层级控件的控件名称至被圈选控件的控件名称逐级拼接,得到包含与被圈选控件属于相同列表的每个控件的控件路径标识。
其中,第三维度为,分析与被圈选控件属于相同列表的控件的埋点记录。
具体地,当服务器接收埋点数据分析请求后,服务器从埋点数据分析请求中提取控件信息,根据控件信息判断被圈选的控件类别是否属于列表类别,若为列表类别,服务器根据层级信息,构造被圈选控件的绝对路径标识,然后从数据库中查询包含此绝对路径标识的埋点记录。
上述一种埋点数据分析方法,通过判断被圈选控件是否为列表类型,当为列表类型时,构造被圈选控件的绝对路径标识,然后从数据库中查询包含此绝对路径标识的埋点记录,从而能够筛选出与被圈选控件处于同一列表的控件的埋点记录。
在一个实施例中,该方法还包括:获取被圈选控件的控件展示的文本信息以及一个或多个控件的层级信息;当分析维度为第四维度时,获取基于被圈选控件展示的文本信息;根据层级信息,利用第二预设标识符将最高层级控件的控件名称至被圈选控件的控件名称逐级拼接,得到中间结果;利用第三预设标识符将文本信息拼接在中间结果之后,得到被圈选控件基于文本内容的控件路径标识。
其中,文本信息为,能够用直接被应用程序用户看见的,位于控件上的文本信息,例如图3所示,按钮中的“记一笔”即为文本信息。第四维度为,分析文本信息为目标文本信息的被圈选控件的埋点记录。
具体地,服务器从控件信息中提取文本信息,并获取控件的绝对路径标识,然后,利用第三标识符拼接绝对路径标识和文本信息,得到绝对元素标识。
例如,Button1控件的在版本1.0的文本信息为“记账”,在版本2.0时被修改为“记一笔”,此时,服务器获取2.0版本的Button1控件的绝对路径标识和文本信息,并利用第三标识符“=”拼接绝对路径标识和文本信息,得到绝对元素标识“UIWindow/UILayoutContainerView/UIView/Button1=记一笔”。服务器利用绝对元素标识从埋点记录中筛选出文本信息为“记一笔”的Button1控件的埋点数据,然后,根据埋点记录,统计出2.0版本的Button1控件被点击的次数。
上述一种埋点数据分析方法,通过拼接绝对路径标识和控件的文本信息,得到绝对元素标识,使得服务器可以利用绝对元素标识筛选文本信息为目标文本信息的被圈选控件的埋点记录,从而能够针对文本信息为目标文本信息的被圈选控件的埋点记录进行分析。
在一个实施例中,如图8所示,提供了一种埋点数据分析装置,包括:配置页面生成模块801、控件路径标识生成模块802、埋点分析请求生成模块803、分析结果接收模块804,其中:
配置页面生成模块801,用于当接收到圈选信号时,展示被圈选控件所对应的配置页面。
控件路径标识生成模块802,用于确定在配置页面选定的分析维度;获取被圈选控件与分析维度相匹配的控件路径标识。
埋点分析请求生成模块803,用于根据控件路径标识生成埋点分析请求,将埋点分析请求发送至服务器。
分析结果接收模块804,用于接收服务器根据埋点分析请求中的控件路径标识对被圈选控件的埋点记录进行分析后返回的分析结果。
在一个实施例中,控件路径标识生成模块802还包括联合圈选模块8021,用于确定圈选时间相邻的两个被圈选控件的时间间隔;当时间间隔小于阈值时,获取相邻两个被圈选控件中前序被圈选控件的控件路径标识;基于多个被圈选控件的控件路径标识以及圈选时序生成埋点分析请求,将埋点分析请求发送至服务器,使服务器根据圈选时序对多个控件路径标识相匹配的埋点记录进行联合分析。
在一个实施例中,如图9所示,提供了另一种埋点数据分析装置,包括:路径标识构造模块901、埋点记录查询模块902、埋点记录分析模块903。
路径标识构造模块901,用于接收终端发送的埋点分析请求;埋点分析请求携带了被圈选控件的控件信息及分析维度;根据控件信息,构造被圈选控件基于分析维度的控件路径标识。
埋点记录查询模块902,用于在数据库中查询与控件路径标识匹配的埋点记录。
埋点记录分析模块903,用于对埋点记录进行分析,将分析结果返回至终端。
在一个实施例中,控件路径标识生成模块901还包括相对路径标识生成模块9011,用于获取被圈选控件的控件类别以及与一个或多个控件的层级信息;当分析维度为第一维度时,利用第一预设标识符将最高层级控件的控件名称至被圈选控件的上一层控件的控件名称逐级拼接,得到中间结果;利用第一预设标识符将中间结果与控件类别拼接,得到与被圈选控件相同类别的每个控件的控件路径标识。
在一个实施例中,控件路径标识生成模块901还包括绝对路径标识生成模块9012,用于获取被圈选控件的控件名称以及一个或多个控件的层级信息;当分析维度为第二维度时,根据层级信息,利用第二预设标识符将最高层级控件的控件名称至被圈选控件的控件名称逐级拼接,得到被圈选控件的控件路径标识。
在一个实施例中,控件路径标识生成模块901还包括列表容器标识生成模块9013,用于获取被圈选控件的控件类别以及与一个或多个控件的层级信息;当分析维度为第三维度时,判断被圈选控件是否为列表类控件;若是,利用第二预设标识符将最高层级控件的控件名称至被圈选控件的控件名称逐级拼接,得到包含与被圈选控件属于相同列表的每个控件的控件路径标识。
在一个实施例中,控件路径标识生成模块901还包括绝对元素标识生成模块9014,用于获取被圈选控件的控件名称以及一个或多个控件的层级信息;当分析维度为第四维度时,获取基于被圈选控件展示的文本信息;根据层级信息,利用第二预设标识符将最高层级控件的控件名称至被圈选控件的控件名称逐级拼接,得到中间结果;利用第三预设标识符将文本信息拼接在中间结果之后,得到被圈选控件基于文本内容的控件路径标识。
关于埋点数据分析装置的具体限定可以参见上文中对于埋点数据分析方法的限定,在此不再赘述。上述埋点数据分析装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
上述提供的埋点数据分析装置可用于执行上述任意实施例提供的埋点数据分析方法,具备相应的功能和有益效果。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是第一终端,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种埋点数据方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
当接收到圈选信号时,展示被圈选控件所对应的配置页面;
确定在配置页面选定的分析维度;
获取被圈选控件与分析维度相匹配的控件路径标识;
根据控件路径标识生成埋点分析请求,将埋点分析请求发送至服务器;
接收服务器根据埋点分析请求中的控件路径标识对被圈选控件的埋点记录进行分析后返回的分析结果。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
分别获取多个被圈选控件基于分析维度的控件路径标识;
根据控件路径标识生成埋点分析请求,将埋点分析请求发送至服务器包括:
基于多个被圈选控件的控件路径标识以及圈选时序生成埋点分析请求,将埋点分析请求发送至服务器,使服务器根据圈选时序对多个控件路径标识相匹配的埋点记录进行联合分析。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
确定圈选时间相邻的两个被圈选控件的时间间隔;
当时间间隔小于阈值时,获取相邻两个被圈选控件中前序被圈选控件的控件路径标识。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
接收终端发送的埋点分析请求;埋点分析请求携带了被圈选控件的控件信息及分析维度;
根据控件信息,构造被圈选控件基于分析维度的控件路径标识;
在数据库中查询与控件路径标识匹配的埋点记录;
对埋点记录进行分析,将分析结果返回至终端。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
获取被圈选控件的控件类别以及与一个或多个控件的层级信息;
当分析维度为第一维度时,利用第一预设标识符将最高层级控件的控件名称至被圈选控件的上一层控件的控件名称逐级拼接,得到中间结果;
利用第一预设标识符将中间结果与控件类别拼接,得到与被圈选控件相同类别的每个控件的控件路径标识。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
获取被圈选控件的控件名称以及一个或多个控件的层级信息;
当分析维度为第二维度时,根据层级信息,利用第二预设标识符将最高层级控件的控件名称至被圈选控件的控件名称逐级拼接,得到被圈选控件的控件路径标识。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
获取被圈选控件的控件类别以及与一个或多个控件的层级信息;
当分析维度为第三维度时,判断被圈选控件是否为列表类控件;
若是,利用第二预设标识符将最高层级控件的控件名称至被圈选控件的控件名称逐级拼接,得到包含与被圈选控件属于相同列表的每个控件的控件路径标识。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
获取被圈选控件的控件名称以及一个或多个控件的层级信息;
当分析维度为第四维度时,获取基于被圈选控件展示的文本信息;
根据层级信息,利用第二预设标识符将最高层级控件的控件名称至被圈选控件的控件名称逐级拼接,得到中间结果;
利用第三预设标识符将文本信息拼接在中间结果之后,得到被圈选控件基于文本内容的控件路径标识。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
当接收到圈选信号时,展示被圈选控件所对应的配置页面;
确定在配置页面选定的分析维度;
获取被圈选控件与分析维度相匹配的控件路径标识;
根据控件路径标识生成埋点分析请求,将埋点分析请求发送至服务器;
接收服务器根据埋点分析请求中的控件路径标识对被圈选控件的埋点记录进行分析后返回的分析结果。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
分别获取多个被圈选控件基于分析维度的控件路径标识;
根据控件路径标识生成埋点分析请求,将埋点分析请求发送至服务器包括:
基于多个被圈选控件的控件路径标识以及圈选时序生成埋点分析请求,将埋点分析请求发送至服务器,使服务器根据圈选时序对多个控件路径标识相匹配的埋点记录进行联合分析。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
确定圈选时间相邻的两个被圈选控件的时间间隔;
当时间间隔小于阈值时,获取相邻两个被圈选控件中前序被圈选控件的控件路径标识。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
接收终端发送的埋点分析请求;埋点分析请求携带了被圈选控件的控件信息及分析维度;
根据控件信息,构造被圈选控件基于分析维度的控件路径标识;
在数据库中查询与控件路径标识匹配的埋点记录;
对埋点记录进行分析,将分析结果返回至终端。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
获取被圈选控件的控件类别以及与一个或多个控件的层级信息;
当分析维度为第一维度时,利用第一预设标识符将最高层级控件的控件名称至被圈选控件的上一层控件的控件名称逐级拼接,得到中间结果;
利用第一预设标识符将中间结果与控件类别拼接,得到与被圈选控件相同类别的每个控件的控件路径标识。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
获取被圈选控件的控件名称以及一个或多个控件的层级信息;
当分析维度为第二维度时,根据层级信息,利用第二预设标识符将最高层级控件的控件名称至被圈选控件的控件名称逐级拼接,得到被圈选控件的控件路径标识。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
获取被圈选控件的控件类别以及与一个或多个控件的层级信息;
当分析维度为第三维度时,判断被圈选控件是否为列表类控件;
若是,利用第二预设标识符将最高层级控件的控件名称至被圈选控件的控件名称逐级拼接,得到包含与被圈选控件属于相同列表的每个控件的控件路径标识。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
获取被圈选控件的控件名称以及一个或多个控件的层级信息;
当分析维度为第四维度时,获取基于被圈选控件展示的文本信息;
根据层级信息,利用第二预设标识符将最高层级控件的控件名称至被圈选控件的控件名称逐级拼接,得到中间结果;
利用第三预设标识符将文本信息拼接在中间结果之后,得到被圈选控件基于文本内容的控件路径标识。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。