本发明涉及计算机,尤其涉及一种埋点数据上报方法和装置。
背景技术:
1、数据埋点作为分析项目数据的必要一环,在前端开发过程中扮演着重要角色。目前,研发人员使用预先编写的基础埋点函数,通过代码方式开发埋点上报逻辑,每个项目都要单独封装底层埋点上报逻辑,开发成本和管理成本较高。另外,现有的埋点逻辑中根据html(hypertext markup language,超文本标记语言)元素之间的相对位置来进行标识,当后续更新迭代项目时,页面元素的位置会发生变化,从而需要大幅修改之前的埋点结构,扩展性和维护性较差。
技术实现思路
1、有鉴于此,本发明实施例提供一种埋点数据上报方法和装置,能够通过为页面元素添加全局唯一标识来提高埋点结构扩展性。
2、为实现上述目的,根据本发明的一个方面,提供了一种埋点数据上报方法。
3、本发明实施例的埋点数据上报方法包括:响应于用户访问网站的目标页面,加载网站的服务端下发的埋点配置文件;其中,埋点配置文件含有目标页面的至少一个埋点信息;任一埋点信息包括:埋点针对的页面元素的数据标识、触发事件类型和返回数据描述信息;网站中任一页面元素的数据标识是预先为该页面元素添加的全局唯一标识;在监测到目标页面的当前事件符合任一埋点信息中的触发事件类型、并且当前事件针对的页面元素的数据标识与该埋点信息中页面元素的数据标识一致的情况下,根据该埋点信息中的返回数据描述信息获取埋点上报数据并执行上报。
4、可选地,网站中任一页面元素的数据标识是网站开发端根据以下步骤添加的:遍历网站的每一页面,将每一页面的源代码转换为抽象语法树;在抽象语法树中查找页面元素,为查找到的页面元素添加数据标识;将添加数据标识的抽象语法树转换为页面源代码。
5、可选地,任一页面元素的数据标识包括:当前时间戳和该页面元素的页面代码的哈希值。
6、可选地,网站开发端进一步执行以下步骤:在将每一页面的代码转换为抽象语法树之后,查找抽象语法书中的函数;判断任一函数是否为数组遍历函数、以及该函数的返回数据类型是否为页面元素;响应于判断任一函数为数组遍历函数、以及该函数的返回数据类型为页面元素,在该函数的返回数据外层为该函数添加全局唯一的特定标识,在该函数的返回数据外层增加缓存逻辑代码;其中,缓存逻辑代码用于将该函数返回的数组中被操作的页面元素数据缓存。
7、可选地,触发事件类型包括点击类型,返回数据描述信息包括:埋点上报数据的来源类型,来源类型包括缓存类型;以及,方法进一步包括:在监测到目标页面的点击事件符合埋点配置文件中第一埋点信息的触发事件类型、并且根据当前事件获取到的页面元素的数据标识与第一埋点信息中的数据标识一致的情况下,判断获取到的数据标识的数量;第一埋点信息中的来源类型包括缓存类型;响应于判断获取到的数据标识为多个,基于缓存逻辑代码将各点击事件对应的键值对数据缓存;其中,任一键值对数据的键为第一埋点信息中的数据标识、值包括当前时间戳和被操作的页面元素在数组中的索引值。
8、可选地,根据该埋点信息中的返回数据描述信息获取埋点上报数据并执行上报,包括:响应于埋点信息中的来源类型为缓存类型,从缓存中获取该埋点信息中数据标识对应的键值对数据中的值,从该值中确定时间戳最大的索引值;根据确定的索引值获取当前生效的页面元素,利用该页面元素和返回数据描述信息获得初始埋点数据,根据初始埋点数据获取埋点上报数据。
9、可选地,来源类型包括:接口类型;在包含的来源类型为接口类型的情况下,返回数据描述信息进一步包括:来源于接口类型的请求链接和请求入参数据、以及埋点匹配路径;以及,根据该埋点信息中的返回数据描述信息获取埋点上报数据并执行上报,包括:利用请求链接和请求入参数据匹配向外发出的请求;在匹配成功的情况下,基于埋点匹配路径从匹配到的请求对应的响应数据中确定初始埋点数据,根据初始埋点数据获取埋点上报数据。
10、可选地,在包含的来源类型为接口类型的情况下,返回数据描述信息进一步包括:自动匹配模式的开启或关闭选项;以及,基于埋点匹配路径从匹配到的请求对应的响应数据中确定初始埋点数据,包括:在埋点配置文件中自动匹配模式开启的情况下,获取当前页面元素的、具有特定标识的父元素,根据父元素的特定标识从缓存中确定预先存储的页面元素数据;根据埋点匹配路径从确定的页面元素数据中获得初始埋点数据。
11、可选地,返回数据描述信息中进一步包括:处理函数;以及,根据初始埋点数据获取埋点上报数据,包括:将初始埋点数据输入处理函数,得到埋点上报数据。
12、可选地,埋点配置文件进一步包括以下至少一种:埋点上报数据的数据类型、埋点信息的创建时间、埋点上报数据的场景属性;触发事件类型进一步包括:曝光类型;来源类型进一步包括:静态字符串类型。
13、为实现上述目的,根据本发明的另一方面,提供了一种埋点数据上报装置。
14、本发明实施例的埋点数据上报装置可以包括:配置加载单元和上报单元。其中,配置加载单元用于响应于用户访问网站的目标页面,加载网站的服务端下发的埋点配置文件;其中,埋点配置文件含有目标页面的至少一个埋点信息;任一埋点信息包括:埋点针对的页面元素的数据标识、触发事件类型和返回数据描述信息;网站中任一页面元素的数据标识是预先为该页面元素添加的全局唯一标识;上报单元用于在监测到目标页面的当前事件符合任一埋点信息中的触发事件类型、并且当前事件针对的页面元素的数据标识与该埋点信息中页面元素的数据标识一致的情况下,根据该埋点信息中的返回数据描述信息获取埋点上报数据并执行上报。
15、可选地,网站中任一页面元素的数据标识是网站开发端根据以下步骤添加的:遍历网站的每一页面,将每一页面的源代码转换为抽象语法树;在抽象语法树中查找页面元素,为查找到的页面元素添加数据标识;将添加数据标识的抽象语法树转换为页面源代码。
16、可选地,任一页面元素的数据标识包括:当前时间戳和该页面元素的页面代码的哈希值。
17、可选地,网站开发端进一步执行以下步骤:在将每一页面的代码转换为抽象语法树之后,查找抽象语法书中的函数;判断任一函数是否为数组遍历函数、以及该函数的返回数据类型是否为页面元素;响应于判断任一函数为数组遍历函数、以及该函数的返回数据类型为页面元素,在该函数的返回数据外层为该函数添加全局唯一的特定标识,在该函数的返回数据外层增加缓存逻辑代码;其中,缓存逻辑代码用于将该函数返回的数组中被操作的页面元素数据缓存。
18、可选地,触发事件类型包括点击类型,返回数据描述信息包括:埋点上报数据的来源类型,来源类型包括缓存类型;以及,上报单元进一步用于:在监测到目标页面的点击事件符合埋点配置文件中第一埋点信息的触发事件类型、并且根据当前事件获取到的页面元素的数据标识与第一埋点信息中的数据标识一致的情况下,判断获取到的数据标识的数量;第一埋点信息中的来源类型包括缓存类型;响应于判断获取到的数据标识为多个,基于缓存逻辑代码将各点击事件对应的键值对数据缓存;其中,任一键值对数据的键为第一埋点信息中的数据标识、值包括当前时间戳和被操作的页面元素在数组中的索引值。
19、可选地,上报单元进一步用于:响应于埋点信息中的来源类型为缓存类型,从缓存中获取该埋点信息中数据标识对应的键值对数据中的值,从该值中确定时间戳最大的索引值;根据确定的索引值获取当前生效的页面元素,利用该页面元素和返回数据描述信息获得初始埋点数据,根据初始埋点数据获取埋点上报数据。
20、可选地,来源类型包括:接口类型;在包含的来源类型为接口类型的情况下,返回数据描述信息进一步包括:来源于接口类型的请求链接和请求入参数据、以及埋点匹配路径;以及,上报单元502进一步用于:利用请求链接和请求入参数据匹配向外发出的请求;在匹配成功的情况下,基于埋点匹配路径从匹配到的请求对应的响应数据中确定初始埋点数据,根据初始埋点数据获取埋点上报数据。
21、可选地,在包含的来源类型为接口类型的情况下,返回数据描述信息进一步包括:自动匹配模式的开启或关闭选项;以及,上报单元进一步用于:在埋点配置文件中自动匹配模式开启的情况下,获取当前页面元素的、具有特定标识的父元素,根据父元素的特定标识从缓存中确定预先存储的页面元素数据;根据埋点匹配路径从确定的页面元素数据中获得初始埋点数据。
22、可选地,返回数据描述信息中进一步包括:处理函数;以及,上报单元进一步用于:将初始埋点数据输入处理函数,得到埋点上报数据。
23、可选地,埋点配置文件进一步包括以下至少一种:埋点上报数据的数据类型、埋点信息的创建时间、埋点上报数据的场景属性;触发事件类型进一步包括:曝光类型;来源类型进一步包括:静态字符串类型。
24、为实现上述目的,根据本发明的又一方面,提供了一种电子设备。
25、本发明的一种电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现本发明所提供的埋点数据上报方法。
26、为实现上述目的,根据本发明的再一方面,提供了一种计算机可读存储介质。
27、本发明的一种计算机可读存储介质,其上存储有计算机程序,程序被处理器执行时实现本发明所提供的埋点数据上报方法。
28、为实现上述目的,根据本发明的再一方面,提供了一种计算机程序产品。
29、本发明的一种计算机程序产品包括计算机程序,计算机程序被处理器执行时实现本发明所提供的埋点数据上报方法。
30、根据本发明的技术方案,上述发明中的实施例具有如下优点或有益效果:
31、当用户访问网站的目标页面时,用户端加载网站的服务端下发的埋点配置文件,埋点配置文件含有目标页面的一个或多个埋点信息,任一埋点信息包括:埋点针对的页面元素的数据标识、触发事件类型和返回数据描述信息,网站中任一页面元素的数据标识是预先为该页面元素添加的全局唯一标识。此后,若用户端监测到目标页面的当前事件符合任一埋点信息中的触发事件类型、并且当前事件针对的页面元素的数据标识与该埋点信息中页面元素的数据标识一致,则根据该埋点信息中的返回数据描述信息获取埋点上报数据并执行上报。这样,能够通过可视化埋点方式实现基于埋点配置文件的埋点数据上报,简化了埋点逻辑开发复杂度。此外,通过为网站的各页面元素添加全局唯一的数据标识从而在埋点逻辑中固定页面元素,这种方式不依赖于页面元素间的相对位置,当后续更新迭代项目时,无需大幅修改原埋点结构,提高埋点结构的扩展性和维护性。
32、上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
1.一种埋点数据上报方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述网站中任一页面元素的数据标识是网站开发端根据以下步骤添加的:
3.根据权利要求2所述的方法,其特征在于,任一页面元素的数据标识包括:当前时间戳和该页面元素的页面代码的哈希值。
4.根据权利要求2所述的方法,其特征在于,所述网站开发端进一步执行以下步骤:
5.根据权利要求4所述的方法,其特征在于,所述触发事件类型包括点击类型,所述返回数据描述信息包括:所述埋点上报数据的来源类型,所述来源类型包括缓存类型;以及,所述方法进一步包括:
6.根据权利要求5所述的方法,其特征在于,所述根据该埋点信息中的返回数据描述信息获取埋点上报数据并执行上报,包括:
7.根据权利要求5所述的方法,其特征在于,所述来源类型包括:接口类型;在包含的来源类型为接口类型的情况下,所述返回数据描述信息进一步包括:来源于接口类型的请求链接和请求入参数据、以及埋点匹配路径;以及,所述根据该埋点信息中的返回数据描述信息获取埋点上报数据并执行上报,包括:
8.根据权利要求7所述的方法,其特征在于,在包含的来源类型为接口类型的情况下,所述返回数据描述信息进一步包括:自动匹配模式的开启或关闭选项;以及,所述基于所述埋点匹配路径从匹配到的请求对应的响应数据中确定初始埋点数据,包括:
9.根据权利要求6或7所述的方法,其特征在于,所述返回数据描述信息中进一步包括:处理函数;以及,所述根据所述初始埋点数据获取所述埋点上报数据,包括:
10.根据权利要求5-8任一所述的方法,其特征在于,所述埋点配置文件进一步包括以下至少一种:所述埋点上报数据的数据类型、所述埋点信息的创建时间、所述埋点上报数据的场景属性;所述触发事件类型进一步包括:曝光类型;所述来源类型进一步包括:静态字符串类型。
11.一种埋点数据上报装置,其特征在于,包括:
12.一种电子设备,其特征在于,包括:
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-10中任一所述的方法。
14.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-10中任一所述的方法。
