CN112650963A - 网页埋点方法、装置、电子设备及计算机可读存储介质 - Google Patents

网页埋点方法、装置、电子设备及计算机可读存储介质 Download PDF

Info

Publication number
CN112650963A
CN112650963A CN202011558969.2A CN202011558969A CN112650963A CN 112650963 A CN112650963 A CN 112650963A CN 202011558969 A CN202011558969 A CN 202011558969A CN 112650963 A CN112650963 A CN 112650963A
Authority
CN
China
Prior art keywords
node
target node
buried
buried point
log file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202011558969.2A
Other languages
English (en)
Inventor
尹家露
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Priority to CN202011558969.2A priority Critical patent/CN112650963A/zh
Publication of CN112650963A publication Critical patent/CN112650963A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9027Trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本公开关于一种网页埋点方法、装置、电子设备及计算机可读存储介质,涉及计算机技术领域,可以提高网页埋点的效率。本公开的实施例包括:获取目标节点,所述目标节点为所述网页的可交互的节点;创建所述目标节点对应的埋点对象,所述埋点对象包括埋点标识以及交互数据采集指令,所述埋点标识用于标识所述埋点对象,所述交互数据采集指令用于指示采集所述目标节点的交互数据;在所述网页的网页代码中绑定所述目标节点的节点属性与所述埋点标识;在所述网页代码中,确定与所述目标节点的交互位置对应的埋点位置,并在所述埋点位置设置所述交互数据采集指令。

Description

网页埋点方法、装置、电子设备及计算机可读存储介质
技术领域
本公开涉及计算机技术领域,尤其涉及网页埋点方法、装置、电子设备及计算机可读存储介质。
背景技术
埋点是网站分析的一种常用数据采集方法,通过在网页中进行埋点可以获取到网页的运行数据,再对获取到的运行数据进行分析可以帮助企业更好地追踪问题和分析网站运行状况,从而进行问题修复和产品迭代优化。
在网页的开发过程中,通常需要对网站网页进行埋点。相关技术中,需要研发人员在开发前期编写埋点需求文档,在埋点需求文档中记录所有节点与对应的埋点关键字,在网页开发时,由研发人员按照埋点需求文档将埋点关键字写入对应的节点。相关技术中,需要研发人员花费较多的时间进行网页埋点,导致网页埋点的效率较低。
发明内容
本公开提供一种网页埋点方法、装置、电子设备及计算机可读存储介质,以至少解决相关技术中需要研发人员花费较多的时间进行网页埋点,导致网页埋点的效率较低的问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种网页埋点方法,所述方法包括:
获取目标节点,所述目标节点为所述网页的可交互的节点;
创建所述目标节点对应的埋点对象,所述埋点对象包括埋点标识以及交互数据采集指令,所述埋点标识用于标识所述埋点对象,所述交互数据采集指令用于指示采集所述目标节点的交互数据;
在所述网页的网页代码中绑定所述目标节点的节点属性与所述埋点标识;
在所述网页代码中,确定与所述目标节点的交互位置对应的埋点位置,并在所述埋点位置设置所述交互数据采集指令。
可选的,所述埋点对象还包括节点信息,所述节点信息用于描述所述目标节点,所述创建所述目标节点对应的埋点对象之后,所述方法还包括:
将所述目标节点对应的埋点对象存储在日志文件中。
可选的,所述创建所述目标节点对应的埋点对象之前,所述方法还包括:
确定所述日志文件中是否存储有所述目标节点对应的埋点对象;
所述创建所述目标节点对应的埋点对象,包括:
在所述日志文件中未存储有所述目标节点对应的埋点对象的情况下,创建所述目标节点对应的埋点对象。
可选的,所述确定所述日志文件中是否存储有所述目标节点对应的埋点对象,包括:
获取所述目标节点的节点信息以及所述目标节点的父级节点标识,所述父级节点标识用于表示所述目标节点的父级节点对应的埋点对象的埋点标识;
在所述日志文件存储的埋点对象中查找是否存在目标埋点对象,所述目标埋点对象包括所述目标节点的节点信息和所述目标节点的父级节点标识;
其中,若在所述日志文件存储的埋点对象中查找到所述目标埋点对象,则所述日志文件中存储有所述目标节点对应的埋点对象;
若在所述日志文件存储的埋点对象中未查找到所述目标埋点对象,则所述日志文件中未存储有所述目标节点对应的埋点对象。
可选的,所述埋点对象还包括所述父级节点标识;
所述将所述目标节点对应的埋点对象存储在日志文件中,包括:
在所述日志文件中查找所述父级节点标识;
在所述日志文件中查找到所述父级节点标识的情况下,将所述目标节点对应的埋点对象存储在所述父级节点标识对应的子级节点的存储位置。
可选的,所述将所述目标节点对应的埋点对象存储在日志文件中之后,所述方法还包括:
向埋点管理平台发送注册请求,所述注册请求中包括所述日志文件中的埋点对象;
接收所述埋点管理平台发送的注册响应。
可选的,所述向埋点管理平台发送所述日志文件中的埋点对象之后,所述方法还包括:
接收用于指示创建埋点关键字的指令,所述指令中包括埋点关键字;
绑定所述埋点关键字与所述埋点标识,并向所述埋点管理平台发送用于表示所述埋点关键字与所述埋点标识的对应关系的消息。
可选的,所述在所述埋点位置设置所述交互数据采集指令之后,所述方法还包括:
在所述网页显示的过程中,接收对所述网页的调试输入;
响应于所述调试输入,显示与所述目标节点的节点属性绑定的埋点标识。
可选的,所述获取目标节点之前,所述方法还包括:
在对所述网页进行编译的过程中,解析所述网页的树状结构模型,对所述网页的全部节点进行遍历,判断所述全部节点中的每个节点是否为可交互的节点,所述树状结构模型中包括所述网页的全部节点;
将所述全部节点中的可交互的节点确定为所述目标节点。
根据本公开实施例的第二方面,提供一种网页埋点装置,所述装置包括:
获取模块,被配置为执行获取目标节点,所述目标节点为所述网页的可交互的节点;
创建模块,被配置为执行创建所述目标节点对应的埋点对象,所述埋点对象包括埋点标识以及交互数据采集指令,所述埋点标识用于标识所述埋点对象,所述交互数据采集指令用于指示采集所述目标节点的交互数据;
第一绑定模块,被配置为执行在所述网页的网页代码中绑定所述目标节点的节点属性与所述埋点标识;
设置模块,被配置为执行在所述网页代码中,确定与所述目标节点的交互位置对应的埋点位置,并在所述埋点位置设置所述交互数据采集指令。
可选的,所述埋点对象还包括节点信息,所述节点信息用于描述所述目标节点,所述装置还包括:
存储模块,被配置为执行将所述目标节点对应的埋点对象存储在日志文件中。
可选的,所述装置还包括:
第一确定模块,被配置为执行确定所述日志文件中是否存储有所述目标节点对应的埋点对象;
所述创建模块包括:
创建单元,被配置为执行在所述日志文件中未存储有所述目标节点对应的埋点对象的情况下,创建所述目标节点对应的埋点对象。
可选的,所述第一确定模块包括:
获取单元,被配置为执行获取所述目标节点的节点信息以及所述目标节点的父级节点标识,所述父级节点标识用于表示所述目标节点的父级节点对应的埋点对象的埋点标识;
第一查找单元,被配置为执行在所述日志文件存储的埋点对象中查找是否存在目标埋点对象,所述目标埋点对象包括所述目标节点的节点信息和所述目标节点的父级节点标识;
其中,若在所述日志文件存储的埋点对象中查找到所述目标埋点对象,则所述日志文件中存储有所述目标节点对应的埋点对象;
若在所述日志文件存储的埋点对象中未查找到所述目标埋点对象,则所述日志文件中未存储有所述目标节点对应的埋点对象。
可选的,所述埋点对象还包括所述父级节点标识;
所述存储模块包括:
第二查找单元,被配置为执行在所述日志文件中查找所述父级节点标识;
存储单元,被配置为执行在所述日志文件中查找到所述父级节点标识的情况下,将所述目标节点对应的埋点对象存储在所述父级节点标识对应的子级节点的存储位置。
可选的,所述装置还包括:
发送模块,被配置为执行向埋点管理平台发送注册请求,所述注册请求中包括所述日志文件中的埋点对象;
第一接收模块,被配置为执行接收所述埋点管理平台发送的注册响应。
可选的,所述装置还包括:
第二接收模块,被配置为执行接收用于指示创建埋点关键字的指令,所述指令中包括埋点关键字;
第二绑定模块,被配置为执行绑定所述埋点关键字与所述埋点标识,并向所述埋点管理平台发送用于表示所述埋点关键字与所述埋点标识的对应关系的消息。
可选的,所述装置还包括:
第三接收模块,被配置为执行在所述网页显示的过程中,接收对所述网页的调试输入;
显示模块,被配置为执行响应于所述调试输入,显示与所述目标节点的节点属性绑定的埋点标识。
可选的,所述装置还包括:
遍历模块,被配置为执行在对所述网页进行编译的过程中,解析所述网页的树状结构模型,对所述网页的全部节点进行遍历,判断所述全部节点中的每个节点是否为可交互的节点,所述树状结构模型中包括所述网页的全部节点;
第二确定模块,被配置为执行将所述全部节点中的可交互的节点确定为所述目标节点。
根据本公开实施例的第三方面,提供一种电子设备,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如第一方面所述的网页埋点方法。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如第一方面所述的网页埋点方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的网页埋点方法。
本公开的实施例提供的技术方案至少带来以下有益效果:由于本公开实施例中对所述目标节点创建埋点对象,通过在所述网页代码中,确定与所述目标节点的交互位置对应的埋点位置,并在所述埋点位置设置埋点对象中的交互数据采集指令,能够实现自动埋点,通过在所述网页的网页代码中绑定所述目标节点的节点属性与埋点对象中的埋点标识,建立所述目标节点与所述埋点标识的对应关系,从而能够依据节点属性中绑定的埋点标识按需取用埋点。因此,在网页埋点的过程中不需要研发人员提前编写埋点需求文档,也不需要研发人员按照埋点需求文档将埋点关键字写入对应的节点,本实施例通过自动埋点,能够提高网页埋点的效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种网页埋点方法的流程图。
图2是根据另一示例性实施例示出的一种网页埋点方法的流程图。
图3是根据另一示例性实施例示出的一种网页埋点方法的流程图。
图4是根据一示例性实施例示出的一种网页埋点装置框图。
图5是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种网页埋点方法的流程图,网页埋点方法应用于电子设备,例如计算机终端、移动终端、服务器等。如图1所示,包括以下步骤101-104。
在步骤101中,获取目标节点,目标节点为网页的可交互的节点。
其中,网页的可交互的节点,可以是网页中可以与用户终端进行交互的节点,例如网页的可交互的节点可以是监听click touch事件的节点,或者使用IntersectionObserver进行监听的节点。示例地,可交互的节点可以是用于描述网页上显示的控件,用户可以利用用户终端通过点击控件与网页进行交互。
在步骤102中,创建目标节点对应的埋点对象,埋点对象包括埋点标识以及交互数据采集指令,埋点标识用于标识埋点对象,交互数据采集指令用于指示采集目标节点的交互数据。
在本公开实施例中,埋点标识用于唯一标识埋点对象。电子设备可以向埋点管理平台发送注册请求,注册请求中可以包括埋点对象,埋点对象包括埋点标识,通过注册请求可以在埋点管理平台对埋点对象进行注册,埋点对象中设置的埋点标识,可以在埋点管理平台通过埋点标识识别埋点对象。创建目标节点对应的埋点对象,可以是为目标节点实例化一个埋点对象。埋点标识可以为数字,或者字母,或者数字和字母的组合,等等,本实施例对此不进行限定。示例地,埋点标识可以包括埋点id(身份标识号)。在对目标节点自动创建目标节点对应的埋点对象的过程中,可以按照预设规则生成埋点标识。例如,可以在上一个节点的埋点标识的基础上加1作为当前节点的埋点标识,或者可以按照预先设置的算法生成目标节点的埋点标识。
另外,交互数据采集指令可以包括埋点函数,埋点函数可以基于目标节点的埋点标识生成,埋点函数用于在被执行时采集目标节点的交互数据。交互数据采集指令采集交互数据,并上报至数据库。数据库中存储有埋点标识、及与埋点标识对应的交互数据,埋点标识对应的交互数据是该埋点标识对应的交互数据采集指令所采集的交互数据,在本公开实施例中,若埋点标识与交互数据采集指令属于同一埋点对象,则认为该埋点标识与交互数据采集指令具有对应关系。
在一个实施例中,以目标节点为dom节点为例,网页可以使用html语言描述,可以解析网页代码,将描述网页的html语言转换为由多个dom节点构成的dom树状结构模型。在对网页的代码进行编译时,可以解析网页代码,得到dom树状结构模型,遍历dom树状结构模型中的所有dom节点,每遍历到一个dom节点,可以为该dom节点创建一个匹配的埋点对象。
在步骤103中,在网页的网页代码中绑定目标节点的节点属性与埋点标识。
其中,节点属性可以为attribute(特征)属性。以目标节点为dom节点为例,可以在dom节点的attribute属性的属性参数中添加埋点标识,以建立埋点标识与dom节点的关联。通过在目标节点的节点属性中绑定埋点标识,可以通过对节点属性中绑定的埋点标识进行回显,按需取用节点的交互数据。
以目标节点为dom节点为例,网页在上线使用的过程中,所有的dom节点默认均会采集交互数据,例如,采集点击数据或者曝光数据。当需要获取某个dom节点的交互数据时,可以通过该dom节点的节点属性查找到该dom节点的埋点标识,依据该dom节点的埋点标识从数据库中查找到埋点标识对应的交互数据。
在步骤104中,在网页代码中,确定与目标节点的交互位置对应的埋点位置,并在埋点位置设置交互数据采集指令。
其中,埋点位置可以为描述目标节点对应的事件回调函数的网页代码的位置。可以将交互数据采集指令插入描述目标节点对应的事件回调函数的网页代码中。在监听到用户终端与目标节点进行交互时,目标节点对应的事件回调函数被执行,也就是描述目标节点对应的事件回调函数的网页代码被执行,从而插入描述事件回调函数的网页代码中的交互数据采集指令会被执行。交互数据采集指令被执行的过程中,能够采集目标节点的交互数据。通过采集目标节点的交互数据,能够跟踪网页的使用状况,从而可以参考与用户终端交互较多的网页,优化与用户终端交互较少的网页。交互数据可以包括访问数,访客数,停留时长,网页浏览数和跳出率等等。
另外,数据库中可以存储有埋点标识对应的交互数据。交互数据采集指令被执行后,可以向数据库上报交互数据,从而可以在数据库统计目标节点的交互数据。在一个实施例中,在向数据库上报的交互数据中,可以携带交互数据采集指令对应的埋点标识,数据库可根据埋点标识,保存交互数据。以埋点为用于采集访问数的埋点为例,在交互数据采集指令被执行后,可以向数据库上报,在数据库中对交互数据采集指令对应的埋点标识的交互数据加1,也就是访问数加1。
需要说明的是,本实施例通过为网页的可交互的节点创建目标节点对应的埋点对象,并且实现自动埋点,不需要研发人员在开发前期编写埋点需求文档,也不需要在网页开发时,由研发人员按照埋点需求文档将埋点关键字写入对应的节点,本实施例在目标节点的节点属性中绑定埋点标识,后续可以按需取用埋点标识。相对于在开发前期在埋点需求文档中记录所有节点与对应的埋点关键字,本实施例通过自动埋点,能够避免大部分无明确目的的埋点行为,能够节省前期埋点的工作。并且,不需要研发人员对埋点需求文档进行维护。
本公开的实施例提供的技术方案至少带来以下有益效果:本公开实施例中对目标节点创建埋点对象,通过在网页代码中,确定与目标节点的交互位置对应的埋点位置,并在埋点位置设置埋点对象中的交互数据采集指令,能够实现自动埋点,通过在网页的网页代码中绑定目标节点的节点属性与埋点对象中的埋点标识,建立目标节点与埋点标识的对应关系,从而能够依据节点属性中绑定的埋点标识按需取用埋点。因此,在网页埋点的过程中不需要研发人员提前编写埋点需求文档,也不需要研发人员按照埋点需求文档将埋点关键字写入对应的节点,本实施例通过自动埋点,能够提高网页埋点的效率。
可选的,埋点对象还包括节点信息,节点信息用于描述目标节点,如图2所示,步骤102中对目标节点创建目标节点对应的埋点对象之后,网页埋点方法还包括步骤105。
在步骤105中,将目标节点对应的埋点对象存储在日志文件中。
其中,可以通过节点信息唯一确定目标节点,示例地,节点信息可以包括节点的选择器信息。节点的选择器信息描述了该节点,通过选择器信息可以快速地定位到该节点,示例地,选择器信息可以包括标签名及标签ID(标识)等等,标签是html语言中的最小单元,标签名为标签的名称,标签ID为标签的标识,标签名及标签ID均可以用于标识标签,从而可以通过标签名及标签ID查找到标签所在的节点。节点的选择器信息可以用于确定是否已为节点创建埋点对象。以目标节点为dom节点为例,节点信息可以包括dom节点的选择器信息,在创建dom节点的埋点对象前,可以在日志文件中查找是否存储有该dom节点的选择器信息,若未查找到该dom节点的选择器信息,则可以为该dom节点创建该dom节点对应的埋点对象。若查找到该dom节点的选择器信息,则说明已为该dom节点创建埋点对象,不再为该dom节点创建该dom节点对应的埋点对象。需要说明的是,可以在创建第一个埋点对象时,生成日志文件,并将第一个埋点对象存储在日志文件中。示例地,可以在编译工程的根目录下生成log.json文件,该文件作为日志文件,用于记录创建的埋点对象。
在实际应用中,目标节点对应的埋点对象可以包括:埋点标识、交互数据采集指令、节点信息以及父级节点标识,父级节点标识可以用于表示目标节点的父级节点对应的埋点对象的埋点标识。在创建目标节点对应的埋点对象后,可以将埋点对象中的埋点标识、交互数据采集指令、节点信息以及父级节点标识存储在日志文件中。可以在日志文件更新时,例如,日志文件中新增埋点对象时,向埋点管理平台发送注册请求,注册请求中包括该日志文件中新增的埋点对象,从而可以通过日志文件对埋点进行管理。
该实施方式中,通过将目标节点对应的埋点对象存储在日志文件中,埋点对象包括目标节点对应的节点信息及埋点标识,则可以通过日志文件查找到当前已埋点的节点,并且可以通过日志文件对埋点进行管理,从而进行网页埋点的自动化程度较高。
可选的,步骤102中创建目标节点对应的埋点对象之前,方法还包括:
确定日志文件中是否存储有目标节点对应的埋点对象;
创建目标节点对应的埋点对象,包括:
在日志文件中未存储有目标节点对应的埋点对象的情况下,创建目标节点对应的埋点对象。
其中,在日志文件中存储有目标节点对应的埋点对象的情况下,可以忽略该目标节点,不执行对目标节点创建目标节点对应的埋点对象的步骤。一个实施例中,确定日志文件中是否存储有目标节点对应的埋点对象,可以是,在日志文件中查找是否存储有目标节点的节点信息;在日志文件中未查找到目标节点的节点信息的情况下,对目标节点创建目标节点对应的埋点对象;在日志文件中查找到目标节点的节点信息的情况下,不对目标节点创建目标节点对应的埋点对象,避免重复创建埋点对象。
另外,可以遍历网页中的所有节点,查找出网页的可交互的节点。例如,以遍历到可交互的节点A为例,可以在日志文件中查找是否存储有节点A的节点信息,若未查找到节点A的节点信息,则可以对节点A创建节点A对应的埋点对象。若查找到节点A的节点信息,则说明已对节点A创建埋点对象,不再对节点A创建节点A对应的埋点对象。
一个实施例中,以日志文件为在编译工程的根目录下生成的log.json文件为例,在对网页代码进行多次编译的过程中,通过判断log.json文件中是否存在目标节点对应的埋点对象,决定是否创建目标节点对应的埋点对象,能够避免同一个目标节点因为多次编译产生多个埋点对象。
该实施方式中,在创建埋点对象之前先确定日志文件中是否存储有目标节点对应的埋点对象,在日志文件中未存储有目标节点对应的埋点对象的情况下,对目标节点创建目标节点对应的埋点对象,能够避免重复创建埋点对象,从而能够便于进行网页埋点管理。
可选的,确定日志文件中是否存储有目标节点对应的埋点对象,包括:
获取目标节点的节点信息以及目标节点的父级节点标识,父级节点标识用于表示目标节点的父级节点对应的埋点对象的埋点标识;
在日志文件存储的埋点对象中查找是否存在目标埋点对象,目标埋点对象包括目标节点的节点信息和目标节点的父级节点标识;
其中,若在日志文件存储的埋点对象中查找到目标埋点对象,则日志文件中存储有目标节点对应的埋点对象;
若在日志文件存储的埋点对象中未查找到目标埋点对象,则日志文件中未存储有目标节点对应的埋点对象。
该实施方式中,通过节点信息和父级节点标识确定日志文件中是否存储有目标节点对应的埋点对象,能够快速且准确地查找日志文件中是否存储有目标节点对应的埋点对象。
可选的,埋点对象还包括父级节点标识;
步骤105中将目标节点对应的埋点对象存储在日志文件中,包括:
在日志文件中查找父级节点标识;
在日志文件中查找到父级节点标识的情况下,将目标节点对应的埋点对象存储在父级节点标识对应的子级节点的存储位置。
其中,在日志文件中,可以按照预设规则存储父级节点对应的埋点对象,以及父级节点下的子级节点对应的埋点对象,以建立父级节点对应的埋点对象与父级节点下的子级节点对应的埋点对象的关联关系,从而所有目标节点对应的埋点对象在日志文件中的关联关系与所有目标节点在网页中的关联关系能够保持一致,便于通过日志文件对目标节点对应的埋点对象进行管理。
以目标节点为dom节点为例,将目标节点对应的埋点对象存储在父级节点标识对应的子级节点的存储位置,可以是,将目标节点对应的埋点对象插入目标节点的父级节点的child属性中。
该实施方式中,在日志文件中存储埋点对象时,将目标节点对应的埋点对象存储在父级节点标识对应的子级节点的存储位置,从而能够快速地查找到与目标节点存在关联关系的节点,便于对网页埋点进行管理。
可选的,步骤105中将目标节点对应的埋点对象存储在日志文件中之后,方法还包括:
向埋点管理平台发送注册请求,注册请求中包括日志文件中的埋点对象;
接收埋点管理平台发送的注册响应。
其中,可以是在对网页的代码进行编译的过程中,向埋点管理平台发送注册请求,以在埋点管理平台对埋点对象进行注册;或者,还可以是在网页上线后,向埋点管理平台发送注册请求,以在埋点管理平台对埋点对象进行注册,本实施例对此不进行限定。
需要说明的是,埋点对象包括:埋点标识、埋点语句、节点信息以及父级节点标识为例,埋点管理平台可以在接收到日志文件中的埋点对象后,存储接收到的埋点对象,并对接收到的埋点对象进行解析,识别出埋点对象中的埋点标识、埋点语句、节点信息以及父级节点标识。可以将识别出的埋点标识、埋点语句、节点信息以及父级节点标识可视化地显示在埋点管理平台的显示界面,可以通过埋点管理平台对显示的埋点标识添加埋点关键字,埋点关键字可以用于描述埋点的功能或标签或重命名,便于下一次统计埋点数据时,能够以埋点关键字为条件进行匹配,快速地查找到埋点关键字对应的埋点标识。
本实施例中通过埋点管理平台对埋点对象进行注册并管理,相对于研发人员通过埋点需求文档对埋点进行管理,不存在不同的研发人员难以理解埋点需求文档中的埋点关键字的问题,也不存在通过人工维护埋点需求文档,对埋点关键字的定义很难统一,很难保证唯一性的问题。
另外,每个目标节点均对应设置有埋点标识,可以通过埋点管理平台基于埋点标识对目标节点进行管理。示例地,可以在埋点管理平台为埋点标识设置埋点关键字。在实际使用中,当用户需要持续关注某个节点的交互数据时,可以为该节点设置埋点关键字,从而用户下一次查询该节点的交互数据时,能够以埋点关键字为条件进行匹配,快速地查找到埋点关键字对应的埋点标识,通过查找到的埋点标识在数据库中快速地匹配到统计的交互数据。从而用户可以为确定需要埋点的节点设置埋点关键字,实现按需取用埋点。
该实施方式中,通过向埋点管理平台发送注册请求,在埋点管理平台对埋点对象进行注册,可以在埋点管理平台按需取用埋点,从而对网页埋点进行管理的效果较好。
可选的,向埋点管理平台发送日志文件中的埋点对象之后,方法还包括:
接收用于指示创建埋点关键字的指令,指令中包括埋点关键字;
绑定埋点关键字与埋点标识,并向埋点管理平台发送用于表示埋点关键字与埋点标识的对应关系的消息。
其中,指令可以是基于用户在电子设备输入埋点关键字的动作触发的指令。
该实施方式中,通过接收用于指示创建埋点关键字的指令,绑定埋点关键字与埋点标识,从而用户在电子设备能够自定义埋点关键字,并且用户可以通过埋点管理平台管理自定义的埋点关键字。
可选的,在埋点位置设置交互数据采集指令之后,方法还包括:
在网页显示的过程中,接收对网页的调试输入;
响应于调试输入,显示与目标节点的节点属性绑定的埋点标识。
其中,用户可以通过调试工具对网页进行调试。示例地,当需要获取网页上显示的控件A的点击次数时,可以通过调试工具将控件A对应的节点的节点属性显示在页面上,从而可以从显示的节点属性中获取控件A对应的节点的埋点标识,基于埋点标识可以从数据库中查找到埋点标识对应的交互数据。
该实施方式中,通过调试输入,显示与目标节点的节点属性绑定的埋点标识,用户在电子设备可以通过回显的方式获取埋点标识,从而可以依据埋点标识按需取用节点的交互数据。
可选的,获取目标节点之前,方法还包括:
在对网页进行编译的过程中,解析网页的树状结构模型,对网页的全部节点进行遍历,判断全部节点中的每个节点是否为可交互的节点,树状结构模型中包括网页的全部节点;
将全部节点中的可交互的节点确定为目标节点。
其中,树状结构模型可以是网页的DOM Tree(dom树),以h5网页为例,h5网页编写时使用html语言描述,html语言以一种树状结构描述网页。示例地,可以是在对网页的代码进行编译时,对网页的代码进行语法分析,遍历网页的所有节点,查找出目标节点。
该实施方式中,在对网页编译的过程中获取目标节点,并对目标节点进行自动埋点,不影响网页的开发,也不需要在网页开发之前提前编写埋点需求文档。
作为一种具体的实施方式,网页埋点方法应用于电子设备,如图3所示,所述方法可以包括步骤301-307。
步骤301、在对网页编译的过程中,对网页的代码进行语法分析,遍历网页的所有节点,筛选出目标节点,所述目标节点为所述网页的可交互的节点。
其中,在对网页进行编译的过程中,可以解析网页的树状结构模型,对网页的全部节点进行遍历,判断全部节点中的每个节点是否为可交互的节点,树状结构模型中包括网页的全部节点,将全部节点中的可交互的节点确定为目标节点。
步骤302、在第一次编译网页时,为目标节点创建一个埋点对象,埋点对象包括:埋点标识、交互数据采集指令、节点信息以及父级节点标识。
步骤303、将交互数据采集指令插入到目标节点的事件回调函数中。
其中,当用户利用用户终端点击网页上的控件,浏览器监听到用户终端与目标节点进行交互,目标节点对应的事件回调函数被执行,从而,插入该事件回调函数中的交互数据采集指令,也会被执行。在该事件回调函数中的交互数据采集指令被执行时,会触发向数据库上报交互数据。数据库中存储有埋点标识、及与埋点标识对应的交互数据。
步骤304、在编译工程的根目录下生成日志文件,该日志文件中记录了创建的埋点对象。
其中,该日志文件记录了步骤302中创建的埋点对象。在对网页代码进行多次编译的过程中,通过判断日志文件中是否存在目标节点对应的埋点对象,决定是否创建目标节点对应的埋点对象。在日志文件中未存储有目标节点对应的埋点对象的情况下,创建目标节点对应的埋点对象。在日志文件中记录埋点对象时,可以在日志文件中查找父级节点标识,在日志文件中查找到父级节点标识的情况下,可以将目标节点对应的埋点对象存储在父级节点标识对应的子级节点的存储位置。在日志文件中未查找到目标节点对应的父级节点标识的情况下,可以将目标节点对应的埋点对象与其他未查找到父级节点标识的节点对应的埋点对象以并列的层次关系存储。从而目标节点的子级节点可以存储在目标节点对应的子级节点的存储位置。
示例地,以日志文件为json格式的文件为例,若节点A1和节点A2在日志文件中均未未查找到节点对应的父级节点标识,则在日志文件中节点A1的埋点对象B1和节点A2的埋点对象B2以并列的层次关系存储,例如,在日志文件中节点A1的埋点对象B1和节点A2的埋点对象B2可以存储为{B1,B2};若节点A3的父级节点为A1,节点A4的父级节点也为A1,则在日志文件中节点A3的埋点对象B3和节点A4的埋点对象B4可以存储为{B1:[B3,B4],B2}。需要说明的是,在编译的过程中,父级节点对应的网页代码先于子级节点对应的网页代码编译,从而通常父级节点对应的埋点对象先于子级节点对应的埋点对象创建。
步骤305、向埋点管理平台发送注册请求,注册请求中包括日志文件中的埋点对象。
其中,可以在日志文件更新时,例如,日志文件中新增埋点对象时,向埋点管理平台发送注册请求,注册请求中包括该日志文件中新增的埋点对象。埋点管理平台接收到注册请求后,可以存储新增的埋点对象,并对接收到的埋点对象进行解析,识别出埋点对象中的埋点标识、埋点语句、节点信息以及父级节点标识,在识别成功的情况下,可以向电子设备发送表征注册成功的注册响应,通知电子设备已注册成功,并可以将识别出的埋点标识、埋点语句、节点信息以及父级节点标识可视化地显示在埋点管理平台的显示界面;若识别失败,则可以向电子设备发送表征注册失败的注册响应,通知电子设备注册失败。
步骤306、接收用于指示创建埋点关键字的指令,绑定埋点关键字与埋点标识,并向埋点管理平台发送用于表示埋点关键字与埋点标识的对应关系的消息。
步骤307、在网页编译完成后,网页运行的过程中,通过调试工具对网页进行调试,将目标节点的节点属性的属性参数中添加的埋点标识显示在页面上。
用户可以从电子设备显示的节点属性中获取目标节点的埋点标识,基于埋点标识可以从数据库中查找到埋点标识对应的交互数据。
需要说明的是,在对网页代码进行第二次编译时,可以对网页的代码进行语法分析,遍历网页的所有节点,筛选出目标节点,然后在第一次编译时生成的日志文件中查找是否存储有目标节点的节点信息,若未查找到目标节点的节点信息,则可以对目标节点创建目标节点对应的埋点对象。可以将交互数据采集指令插入到目标节点的事件回调函数中,并且可以将创建的埋点对象存储在日志文件中。进一步的,还可以执行步骤305和步骤306。若查找到目标节点的节点信息,则说明已对目标节点创建埋点对象,不再对目标节点创建目标节点对应的埋点对象。通过判断log.json文件中是否存在目标节点的节点信息,决定是否创建目标节点对应的埋点对象,能够避免同一个目标节点因为多次编译产生多个埋点对象。对网页代码进行第三次编译时与第二次编译时的流程类似,这里不再赘述。
图4是根据一示例性实施例示出的一种网页埋点装置框图。参照图4,该装置包括:
获取模块401,被配置为执行获取目标节点,所述目标节点为所述网页的可交互的节点;
创建模块402,被配置为执行创建所述目标节点对应的埋点对象,所述埋点对象包括埋点标识以及交互数据采集指令,所述埋点标识用于标识所述埋点对象,所述交互数据采集指令用于指示采集所述目标节点的交互数据;
第一绑定模块403,被配置为执行在所述网页的网页代码中绑定所述目标节点的节点属性与所述埋点标识;
设置模块404,被配置为执行在所述网页代码中,确定与所述目标节点的交互位置对应的埋点位置,并在所述埋点位置设置所述交互数据采集指令。
可选的,所述埋点对象还包括节点信息,所述节点信息用于描述所述目标节点,所述装置还包括:
存储模块,被配置为执行将所述目标节点对应的埋点对象存储在日志文件中。
可选的,所述装置还包括:
第一确定模块,被配置为执行确定所述日志文件中是否存储有所述目标节点对应的埋点对象;
所述创建模块包括:
创建单元,被配置为执行在所述日志文件中未存储有所述目标节点对应的埋点对象的情况下,创建所述目标节点对应的埋点对象。
可选的,所述第一确定模块包括:
获取单元,被配置为执行获取所述目标节点的节点信息以及所述目标节点的父级节点标识,所述父级节点标识用于表示所述目标节点的父级节点对应的埋点对象的埋点标识;
第一查找单元,被配置为执行在所述日志文件存储的埋点对象中查找是否存在目标埋点对象,所述目标埋点对象包括所述目标节点的节点信息和所述目标节点的父级节点标识;
其中,若在所述日志文件存储的埋点对象中查找到所述目标埋点对象,则所述日志文件中存储有所述目标节点对应的埋点对象;
若在所述日志文件存储的埋点对象中未查找到所述目标埋点对象,则所述日志文件中未存储有所述目标节点对应的埋点对象。
可选的,所述埋点对象还包括所述父级节点标识;
所述存储模块包括:
第二查找单元,被配置为执行在所述日志文件中查找所述父级节点标识;
存储单元,被配置为执行在所述日志文件中查找到所述父级节点标识的情况下,将所述目标节点对应的埋点对象存储在所述父级节点标识对应的子级节点的存储位置。
可选的,所述装置还包括:
发送模块,被配置为执行向埋点管理平台发送注册请求,所述注册请求中包括所述日志文件中的埋点对象;
第一接收模块,被配置为执行接收所述埋点管理平台发送的注册响应。
可选的,所述装置还包括:
第二接收模块,被配置为执行接收用于指示创建埋点关键字的指令,所述指令中包括埋点关键字;
第二绑定模块,被配置为执行绑定所述埋点关键字与所述埋点标识,并向所述埋点管理平台发送用于表示所述埋点关键字与所述埋点标识的对应关系的消息。
可选的,所述装置还包括:
第三接收模块,被配置为执行在所述网页显示的过程中,接收对所述网页的调试输入;
显示模块,被配置为执行响应于所述调试输入,显示与所述目标节点的节点属性绑定的埋点标识。
可选的,所述装置还包括:
遍历模块,被配置为执行在对所述网页进行编译的过程中,解析所述网页的树状结构模型,对所述网页的全部节点进行遍历,判断所述全部节点中的每个节点是否为可交互的节点,所述树状结构模型中包括所述网页的全部节点;
第二确定模块,被配置为执行将所述全部节点中的可交互的节点确定为所述目标节点。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图5是根据一示例性实施例示出的一种电子设备的框图。参照图5,电子设备包括:
处理器501;
用于存储所述处理器501可执行指令的存储器502;
其中,所述处理器501被配置为执行所述指令,以实现上述实施例中用于电子设备的网页埋点方法。
在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器,上述指令可由电子设备的处理器执行以完成上述方法。可选地,计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现上述网页埋点的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (10)

1.一种网页埋点方法,其特征在于,所述方法包括:
获取目标节点,所述目标节点为所述网页的可交互的节点;
创建所述目标节点对应的埋点对象,所述埋点对象包括埋点标识以及交互数据采集指令,所述埋点标识用于标识所述埋点对象,所述交互数据采集指令用于指示采集所述目标节点的交互数据;
在所述网页的网页代码中绑定所述目标节点的节点属性与所述埋点标识;
在所述网页代码中,确定与所述目标节点的交互位置对应的埋点位置,并在所述埋点位置设置所述交互数据采集指令。
2.根据权利要求1所述的网页埋点方法,其特征在于,所述埋点对象还包括节点信息,所述节点信息用于描述所述目标节点,所述创建所述目标节点对应的埋点对象之后,所述方法还包括:
将所述目标节点对应的埋点对象存储在日志文件中。
3.根据权利要求2所述的网页埋点方法,其特征在于,所述创建所述目标节点对应的埋点对象之前,所述方法还包括:
确定所述日志文件中是否存储有所述目标节点对应的埋点对象;
所述创建所述目标节点对应的埋点对象,包括:
在所述日志文件中未存储有所述目标节点对应的埋点对象的情况下,创建所述目标节点对应的埋点对象。
4.根据权利要求3所述的网页埋点方法,其特征在于,所述确定所述日志文件中是否存储有所述目标节点对应的埋点对象,包括:
获取所述目标节点的节点信息以及所述目标节点的父级节点标识,所述父级节点标识用于表示所述目标节点的父级节点对应的埋点对象的埋点标识;
在所述日志文件存储的埋点对象中查找是否存在目标埋点对象,所述目标埋点对象包括所述目标节点的节点信息和所述目标节点的父级节点标识;
其中,若在所述日志文件存储的埋点对象中查找到所述目标埋点对象,则所述日志文件中存储有所述目标节点对应的埋点对象;
若在所述日志文件存储的埋点对象中未查找到所述目标埋点对象,则所述日志文件中未存储有所述目标节点对应的埋点对象。
5.根据权利要求4所述的网页埋点方法,其特征在于,所述埋点对象还包括所述父级节点标识;
所述将所述目标节点对应的埋点对象存储在日志文件中,包括:
在所述日志文件中查找所述父级节点标识;
在所述日志文件中查找到所述父级节点标识的情况下,将所述目标节点对应的埋点对象存储在所述父级节点标识对应的子级节点的存储位置。
6.根据权利要求2所述的网页埋点方法,其特征在于,所述将所述目标节点对应的埋点对象存储在日志文件中之后,所述方法还包括:
向埋点管理平台发送注册请求,所述注册请求中包括所述日志文件中的埋点对象;
接收所述埋点管理平台发送的注册响应。
7.一种网页埋点装置,其特征在于,所述装置包括:
获取模块,被配置为执行获取目标节点,所述目标节点为所述网页的可交互的节点;
创建模块,被配置为执行创建所述目标节点对应的埋点对象,所述埋点对象包括埋点标识以及交互数据采集指令,所述埋点标识用于标识所述埋点对象,所述交互数据采集指令用于指示采集所述目标节点的交互数据;
第一绑定模块,被配置为执行在所述网页的网页代码中绑定所述目标节点的节点属性与所述埋点标识;
设置模块,被配置为执行在所述网页代码中,确定与所述目标节点的交互位置对应的埋点位置,并在所述埋点位置设置所述交互数据采集指令。
8.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至6中任一项所述的网页埋点方法。
9.一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如权利要求1至6中任一项所述的网页埋点方法。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-6任一项所述的网页埋点方法。
CN202011558969.2A 2020-12-25 2020-12-25 网页埋点方法、装置、电子设备及计算机可读存储介质 Pending CN112650963A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011558969.2A CN112650963A (zh) 2020-12-25 2020-12-25 网页埋点方法、装置、电子设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011558969.2A CN112650963A (zh) 2020-12-25 2020-12-25 网页埋点方法、装置、电子设备及计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN112650963A true CN112650963A (zh) 2021-04-13

Family

ID=75362889

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011558969.2A Pending CN112650963A (zh) 2020-12-25 2020-12-25 网页埋点方法、装置、电子设备及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN112650963A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113434399A (zh) * 2021-06-23 2021-09-24 青岛海尔科技有限公司 业务节点日志的处理方法和装置、存储介质及电子装置
CN114139096A (zh) * 2021-12-07 2022-03-04 中国建设银行股份有限公司 网页制作方法、装置、设备、存储介质及程序产品

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107562620A (zh) * 2017-08-24 2018-01-09 阿里巴巴集团控股有限公司 一种埋点自动设置方法和装置
CN110442511A (zh) * 2019-06-25 2019-11-12 苏宁云计算有限公司 可视化埋点测试方法及装置
CN111435298A (zh) * 2019-01-11 2020-07-21 北京京东尚科信息技术有限公司 埋点方法、装置、电子设备、存储介质
CN111966339A (zh) * 2020-07-23 2020-11-20 招联消费金融有限公司 埋点参数的录入方法、装置、计算机设备和存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107562620A (zh) * 2017-08-24 2018-01-09 阿里巴巴集团控股有限公司 一种埋点自动设置方法和装置
CN111435298A (zh) * 2019-01-11 2020-07-21 北京京东尚科信息技术有限公司 埋点方法、装置、电子设备、存储介质
CN110442511A (zh) * 2019-06-25 2019-11-12 苏宁云计算有限公司 可视化埋点测试方法及装置
CN111966339A (zh) * 2020-07-23 2020-11-20 招联消费金融有限公司 埋点参数的录入方法、装置、计算机设备和存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113434399A (zh) * 2021-06-23 2021-09-24 青岛海尔科技有限公司 业务节点日志的处理方法和装置、存储介质及电子装置
CN113434399B (zh) * 2021-06-23 2023-06-16 青岛海尔科技有限公司 业务节点日志的处理方法和装置、存储介质及电子装置
CN114139096A (zh) * 2021-12-07 2022-03-04 中国建设银行股份有限公司 网页制作方法、装置、设备、存储介质及程序产品

Similar Documents

Publication Publication Date Title
Zhou et al. API deprecation: a retrospective analysis and detection method for code examples on the web
CN106844217B (zh) 对应用的控件进行埋点的方法及装置、可读存储介质
CN107562620B (zh) 一种埋点自动设置方法和装置
Di Lucca et al. WARE: A tool for the reverse engineering of web applications
Ghezzi et al. Mining behavior models from user-intensive web applications
CN110442511B (zh) 可视化埋点测试方法及装置
German An empirical study of fine-grained software modifications
US6698013B1 (en) Real time monitoring system for tracking and documenting changes made by programmer's during maintenance or development of computer readable code on a line by line basis and/or by point of focus
US9740506B2 (en) Automating interactions with software user interfaces
TWI454941B (zh) 自動測量網頁文件集
US7917815B2 (en) Multi-layer context parsing and incident model construction for software support
CN112650963A (zh) 网页埋点方法、装置、电子设备及计算机可读存储介质
Maciel et al. From Requirements to Automated Acceptance Tests of Interactive Apps: An Integrated Model-based Testing Approach.
Di Lucca et al. Clone analysis in the web era: An approach to identify cloned web pages
Tang et al. On using Stack Overflow comment-edit pairs to recommend code maintenance changes
Fraternali et al. Model-driven Web usage analysis for the evaluation of Web application quality.
CN110674024A (zh) 电子设备集成测试系统及其方法
Foganholi et al. Supporting technical debt cataloging with TD-Tracker tool
Hammad et al. Identifying designers and their design knowledge
Arrue et al. Automatic evaluation of mobile web accessibility
Rose et al. Concordance: A framework for managing model integrity
Habibi et al. Generating test as a web service (TaaWS) through a method-based attribute grammar
Carvalho Structural Clustering of Web Pages for Usage Pattern Mining
CN117171364B (zh) 运维知识图谱更新方法及装置
CN116955104A (zh) 自动埋点方法、装置、电子设备和可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination