埋点事件编码的生成方法、处理方法及相关设备与流程

文档序号:27009453发布日期:2021-10-19 23:25阅读:143来源:国知局
埋点事件编码的生成方法、处理方法及相关设备与流程

1.本技术涉及云计算技术领域,具体而言,涉及一种埋点事件编码的生成方法、处理方法及相关设备。


背景技术:

2.随着云计算技术的发展,云计算技术被逐渐应用到页面埋点中,基于云计算所提供快速和庞大的计算能力来对页面埋点中所上报的埋点事件进行处理和统计。在云端对埋点事件进行处理之前,需要先借助于一定的网络带宽将埋点事件上报到云端,在所上报的埋点事件的数据量较大时,对应的传输过程中占用的带宽较多。
3.相关技术中,存在埋点事件数据量大、上报埋点事件占用带宽多的问题。


技术实现要素:

4.本技术提供了一种埋点事件编码的生成方法、处理方法及相关设备,以解决相关技术中所存在埋点事件数据量大、上报埋点事件占用带宽多的问题。
5.本技术的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本技术的实践而习得。
6.根据本技术实施例的一个方面,提供了一种埋点事件编码的生成方法,包括:获取目标页面中目标页面元素的初始路径,所述初始路径以指定元素标签的页面元素作为根节点;对所述初始路径进行转换,得到路径字符串;在所述路径字符串中,所述初始路径中各页面元素通过所对应的元素标签和元素序号的组合来标识;根据所述路径字符串和所述目标页面对应的页面地址,生成对应于所述目标页面元素的埋点事件编码。
7.根据本技术实施例的一个方面,提供了一种埋点事件的处理方法,包括:获取埋点配置信息,所述埋点配置信息包括被埋点页面元素的埋点事件编码,所述被埋点页面元素的埋点事件编码是按照上述的埋点事件编码的生成方法生成的;
8.若终端所上报的埋点事件编码为所述被埋点页面元素的埋点事件编码,则将所上报的埋点事件编码存储至分析数据库中,所述终端在所显示页面中的页面元素被触发时,按照上述埋点事件编码生成方法生成对应的埋点事件编码并上报。
9.根据本技术实施例的一个方面,提供了一种埋点事件编码的生成装置,所述装置包括:
10.初始路径获取模块,用于获取目标页面中目标页面元素的初始路径,所述初始路径以指定元素标签的页面元素作为根节点;
11.转换模块,用于对所述初始路径进行转换,得到路径字符串;所述初始路径中各页面元素通过所对应的元素标签和元素序号的组合来标识;
12.编码生成模块,用于根据所述路径字符串和所述目标页面对应的页面地址,生成对应于所述目标页面元素的埋点事件编码。
13.根据本技术实施例的一个方面,提供了一种埋点事件的处理装置,包括:
14.埋点配置信息获取模块,用于获取埋点配置信息,所述埋点配置信息包括被埋点页面元素的埋点事件编码,所述被埋点页面元素的埋点事件编码是按照上述的埋点事件编码的生成方法生成的;
15.存储模块,用于若终端所上报的埋点事件编码为所述被埋点页面元素的埋点事件编码,则将所上报的埋点事件编码存储至分析数据库中,所述终端在所显示页面中的页面元素被触发时,按照上述埋点事件编码的生成方法生成对应的埋点事件编码并上报。
16.根据本技术实施例的一个方面,提供了一种电子设备,包括:处理器;存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,实现如上的埋点事件编码的生成方法或者埋点事件的处理方法。
17.根据本技术实施例的一个方面,提供了一种计算机可读存储介质,其上存储有计算机可读指令,当所述计算机可读指令被处理器执行时,实现如上的埋点事件编码的生成方法或者埋点事件的处理方法。
18.在本技术的方案中,将初始路径转换为路径字符串,使得在路径字符串中,初始路径中各页面元素的属性信息被过滤掉,仅通过元素标签和元素序号的组合来标识各页面元素,路径字符串的数据量相较于初始路径的数据量大幅减小,实现了初始路径的简化。对应的,相较于根据初始路径生成的埋点事件编码而言,通过路径简化所得到的路径字符串来生成的埋点事件编码的数据量也大幅减少,从而,在上报埋点事件编码的过程中,由于埋点事件编码的数据量减少,则传输该埋点事件编码所占用的网络带宽也对应减少,由此提高了网络的利用率。
19.而且,由于页面元素的属性信息与页面的内容相关,而路径字符串中并不包括页面元素的属性信息,从而,实现了路径字符串与页面内容的独立,该路径字符串仅体现了目标页面元素所对应路径的结构信息。若在页面中因页面元素的属性信息发生变化时,由于该目标页面元素的路径字符串中并不携带各页面元素的属性信息,因此,该目标页面元素对应的路径字符串保持不变,因此,可以保证在页面元素的属性信息发生变化的情况下仍然可以进行埋点事件匹配和处理。
20.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。
附图说明
21.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
22.图1示出了可以应用本技术实施例的技术方案的示例性系统架构的示意图;
23.图2是根据本技术一个实施例示出的埋点事件编码的生成方法的流程图;
24.图3示出了一页面中的部分页面示意图;
25.图4是步骤210在本技术一实施例中的流程图;
26.图5是根据本技术的一个实施例示出的埋点事件的处理方法的流程图;
27.图6是根据本技术一实施例示出的应用场景示意图;
28.图7是基于图6所示的本技术一实施例的应用场景示出的埋点事件编码生成和埋点事件处理的流程图;
29.图8是根据本技术一实施例示出的埋点sdk的工作流程图;
30.图9是根据本技术一实施例示出的埋点后台中管理页面埋点配置的界面示意图;
31.图10是根据本技术一实施例示出的埋点后台中创建页面埋点配置界面的示意图;
32.图11是根据本技术一实施例示出的管理元素埋点页面的示意图;
33.图12是根据本技术一实施例示出的针对页面元素埋点的埋点详情页面的示意图;
34.图13是根据本技术一实施例示出的可视化圈选定义页面曝光事件的界面示意图;
35.图14示出了本技术一实施例在埋点后台的配置页面中内嵌显示a网站首页中页面元素的示意图;
36.图15示出了本技术一实施例在埋点后台中高亮显示a网站首页中已圈选页面元素的示意图;
37.图16是根据本技术一实施例示出的展示正在圈选的页面元素的示意图;
38.图17是根据本技术一实施例示出的显示已圈选页面元素的埋点详情数据的示意图;
39.图18是根据本技术一实施例示出的埋点事件编码的生成装置的框图;
40.图19是根据本技术一实施例示出的埋点事件的处理装置的框图;
41.图20是根据本技术一实施例示出的适于用来实现本技术实施例的电子设备的计算机系统的结构示意图。
具体实施方式
42.现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本技术将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
43.此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本技术的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本技术的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本技术的各方面。
44.附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
45.附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
46.大数据(big data)是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。随着云时代的来临,大数据也吸引了越来越多的关注,大数据需要特殊的技术,以有效地处理大量的容忍经过时间内的数据。适用于大数据的
技术,包括大规模并行处理数据库、数据挖掘、分布式文件系统、分布式数据库、云计算平台、互联网和可扩展的存储系统。
47.相关技术中,为了实现数据挖掘,一般通过埋点技术进行数据采集,例如,通过对页面中的页面元素进行埋点,来跟踪页面中页面元素被用户触发的触发情况。具体而言,通过对页面中的页面元素进行埋点,在页面元素被用户触发时,终端向服务端进行埋点事件上报,以此实现页面中用户操作行为的统计。服务端通过分析所采集到的大量埋点事件来进行数据挖掘和分析,将所采集到的埋点事件作为进一步优化产品或者提供运营的数据支撑。
48.图1示出了可以应用本技术实施例的技术方案的示例性系统架构的示意图。
49.如图1所示,系统架构可以包括终端110和服务器120,终端110与服务器120之间通过有线或者无线网络进行通信,终端110可以是智能手机、平板电脑、笔记本电脑、台式电脑等,在此不进行具体限定。
50.应该理解,图1中的终端110和服务端120的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端110和服务端120。比如服务端120可以是多个服务器组成的服务器集群等。
51.终端110用于进行埋点事件上报。终端110可以进行页面显示,页面中的页面元素可被埋点,若被埋点的页面元素被用户触发,则按照本技术的方案生成埋点事件编码并上报。其中,终端中所显示的页面可以是网站页面,也可以是应用程序的页面,在此不进行具体限定。
52.在本技术的一些实施例中,页面可以通过监测代码来进行页面元素埋点,还可以通过集成在应用程序中的软件开发工具包(software development kit,sdk)进行页面元素埋点。
53.服务端120用于接收终端所上报的埋点事件,还可以进一步对所接收到的埋点事件进行进一步处理,例如对埋点事件对应的页面元素进行可视化等。
54.终端中,如果需要进行用户行为追踪的页面元素较多,由于需要将被触发的页面元素生成埋点事件并上报到服务器,其数据传输量是极大的,而且占用的带宽也较多,因此,为了减少埋点事件上报过程中的数据传输量,提高埋点事件上报过程中网络的利用率,提出了本技术的方案。
55.以下对本技术实施例的技术方案的实现细节进行详细阐述:
56.图2是根据本技术的一个实施例示出的埋点事件的上报方法的流程图,该埋点事件的上报方法可以由图1中所示的终端来执行。参照图2所示,该埋点事件的上报方法至少包括步骤210至步骤230,详细介绍如下。
57.步骤210,获取目标页面中目标页面元素的初始路径,初始路径以指定元素标签的页面元素作为根节点。
58.为了方便理解,这里对名词做一些解释说明:目标页面元素并不特指某一页面元素,而是泛指被埋点的可进行交互的页面元素,可进行交互的页面元素例如页面中的可触发点击操作的元素、可进行内容输入的元素、可被触发拖动操作的元素、可被触发下拉操作的元素等。同理,目标页面并不特指某一页面,而是泛指存在被埋点的页面元素的页面。
59.通过对页面元素进行埋点来采集用户在页面中的操控行为数据。在本技术一些实
施例中,在检测到目标页面中目标页面元素被触发后,执行步骤210及其后的步骤,以为被触发的目标页面元素生成埋点事件编码,并进行埋点事件编码的自动上报,以记录该目标页面元素被用户触发。
60.对于目标页面元素的埋点,可以是基于配置信息埋点,也可以是全埋点。基于配置信息埋点是指如果配置信息指示对某一页面元素进行埋点,则将该页面元素作为目标页面元素,并对配置信息所指示的页面元素进行触发监控。全埋点是指将页面中的任一页面元素均作被监控的对象,如果监控到任一页面元素被触发,则为该页面元素进行埋点事件上报。
61.在本技术的一些实施例中,目标页面中集成了埋点sdk(software development kit,软件开发工具包),通过该埋点sdk来监控目标页面中任一目标页面元素的触发事件,例如在埋点sdk对用户触发的点击、页面曝光等事件进行监控,并在事件被触发时调用处理函数,按照本技术的方法计算对应的埋点事件编码,并进行自动上报。其中,页面曝光事件是指终端的显示屏中显示页面的事件,可以理解的是,目标页面中目标页面元素的被触发是在目标页面被显示的基础上进行的,因此,在监控到目标页面的页面曝光事件,即表明该目标页面已被显示。本技术中所指的页面通过页面文档来描述,页面文档的结构包括头部和主体两大部分,页面文档的主体部分决定了页面中显示的内容,其中,主体部分是即body标签下的内容。其中,页面文档可以是html(hyper text mark-up language,超文本标记语言文件)文档。
62.目标页面元素的初始路径是指从目标页面元素到所在目标页面中页面根元素的有序元素集合。其中,目标页面中页面根元素是指作为根节点的页面元素。在具体实施例中,页面根元素(作为根节点的页面元素)可以根据实际需要进行指定,即初始路径中以指定元素标签的页面元素作为根节点,从而便于进行后续的埋点事件编码。
63.举例来说,在html文档中通过html标签来定义html文档的整体,则在目标页面元素的初始路径中,可以将html标签作为指定元素标签。又例如,由于在html文档中主体部分决定了页面中显示的内容,目标页面元素作为页面中的可进行交互的页面元素,因此,在页面文档中,页面元素对应的元素信息位于body标签下的内容中,换言之,被触发的目标页面元素是body标签下的子页面元素,当然,其可以是一级子页面元素,也可以是更深层级的子页面元素。从而,还可以将body标签作为指定元素标签,具体在html文档中,body标签内嵌在html标签下。
64.若以html标签为指定元素标签,一目标页面元素的初始路径为:/html/body/div[1]/form[1][@name=“f”]/span[1][@class=“bt”]/input[1][@id=“su”]。在该初始路径中html、body、div、form、span和input为所对应页面元素的元素标签。在该初始路径中,最后一个页面元素,即元素标签为“input”页面元素,为目标页面元素。元素标签其后的方括号中的内容为所在页面元素的元素信息,该元素信息包括页面元素的属性信息,例如[@name=“f”]指示了上述初始路径中元素标签为“form”的页面元素的元素名称,[@class=“bt”]指示了上述初始路径中元素标签为“span”的页面元素的类属性,[@id=“su”]指示了上述初始路径中元素标签为“input”的页面元素的id。其中,元素标签为“form”的页面元素其后方括号中的数字1为该页面元素对应的元素序号。同理,其他页面元素对应元素标签之后方括号中的数字也是元素序号。
[0065]
对于上述所列举目标页面元素,若以body标签为指定元素标签,则该目标页面元素的初始路径为:/body/div[1]/form[1][@name=“f”]/span[1][@class=“bt”]/input[1][@id=“su”]。由上可以看出,由于在页面文档中body标签内嵌在html标签下,在将body标签作为指定页面元素时,相较于将html标签作为指定元素,缩短了目标页面元素的初始路径,对应的,后续所得到的埋点事件编码的数据量对应减小,在埋点事件上报过程中,数据的传输量对应减小。
[0066]
步骤220,对初始路径进行转换,得到路径字符串;在路径字符串中,初始路径中各页面元素通过所对应的元素标签和元素序号的组合来进行标识。
[0067]
目标页面元素的初始路径中包括所涉及到各个页面元素的元素信息,其中,页面元素的元素信息不仅包括页面元素的元素标签、元素序号,还可能包括页面元素的属性信息,其中,属性信息可以是文本属性、标识(id)属性、类(class)属性以及其他自定义属性等,属性信息还可以包括页面元素在目标页面中的尺寸信息,例如页面元素的高度、宽度等。
[0068]
在一页面中,一元素标签下可能存在一个或者多个子页面元素,页面元素的元素序号是指在该页面元素所对应父页面元素中该页面元素的序号。举例来说,若body标签下存在4个顺序排列的div标签的页面元素,则body/div:5表示body标签下第5个div页面元素。
[0069]
步骤220相当于将初始路径转换成面向结构的“元素标签:元素序号”路径形式,即将初始路径中各页面元素通过“元素标签:元素序号”来进行标识,即得到路径字符串。
[0070]
可以理解的是,若在一级页面元素处,仅存在一页面元素,而不存在与该页面元素处于同一级的同级页面元素,则该页面元素的元素序号为空。例如,在html文档中,body标签不存在同级的页面元素,因此,一般body标签所对应页面元素的元素序号为空。
[0071]
继续上述初始路径为“/html/body/div[1]/form[1][@name=“f”]/span[1][@class=“bt”]/input[1][@id=“su”]”的举例,按照步骤220对初始路径进行转换,可以将上述初始路径中各页面元素的属性信息过滤掉,所得到的路径字符串可以是:/html/body/div:1/form:1/span:1/input:1。在所得到的路径字符串中,每一页面元素对应的元素信息中不包括属性信息,而页面元素通过元素标签与元素序号的组合来标识。由此可以看出,通过将初始路径进行转换,得到不包括页面元素的属性信息的路径字符串,相较于初始路径,所得到路径字符串的字符长度大幅缩短,对应的路径字符串对应的数据量相较于初始路径的数据量也大幅减小。
[0072]
图3示出了一页面中部分页面示意图,如图3所示,图3中边框1所在的区域对应的页面元素为body标签下第5个元素标签为div的页面元素(该页面元素按照“元素标签:元素序号”的形式可以表示为div:5);边框2所在区域对应的页面元素为边框1所对应页面元素下的第1个元素标签为div的页面元素(该页面元素按照“元素标签:元素序号”的形式可以表示为div:1)。边框3所在区域对应的页面元素为边框2所对应页面元素下的第1个元素标签为div的页面元素(该页面元素按照“元素标签:元素序号”的形式可以表示为div:1)。
[0073]
假设边框1所在区域对应的页面元素为body标签下的第一级子页面元素,并假设指定元素标签为body标签,则若将图3中边框3所在区域对应的页面元素作为目标页面元素,按照上述“元素标签:元素序号”路径形式,该目标页面元素的路径字符串可以表示为:
body/div:5/div:1/div:1。
[0074]
步骤230,根据路径字符串和目标页面对应的页面地址,生成对应于目标页面元素的埋点事件编码。
[0075]
其中,目标页面对应的页面地址可以是目标页面的url(uniform resource locator,统一资源定位符)。
[0076]
在本技术的一些实施例中,可以将路径字符串与目标页面对应的页面地址进行拼接组合,得到预编码字符串,然后按照编码算法对所得到的预编码字符串进行编码,得到埋点事件编码。对路径字符串和目标页面对应的页面地址进行编码,相当于对路径字符串和目标页面对应的页面地址进行加密。
[0077]
其中,编码算法可以是md5算法(message-digest algorithm 5,信息-摘要算法)。当然,编码算法并不限于md5算法,还可以是sha(secure hash algorithm,安全散列算法)、mac(message authentication code,消息认证码算法)等算法,在此不进行具体限定。
[0078]
对于任意长度的数据,采用md5算法进行编码后所得到的数据的md值的长度都是固定的,因此,通过md5算法可以实现将“不定长”的组合字符串转换为“定长”的埋点事件编码,便于进行埋点事件编码的储存,可以防止过长的组合字符串无法有效格式化存储的问题。路径字符串用于指示目标页面元素在目标页面中的路径,因此,根据路径字符串和目标页面对应的页面地址生成目标页面元素的埋点事件编码,使该埋点事件编码不仅可以体现目标页面元素所在的目标页面,还可以进一步体现目标页面元素在目标页面中的路径。
[0079]
在本技术一些实施例中,在步骤230之后,该方法还包括:将埋点事件编码进行上报。
[0080]
在本技术的一些实施例中,将埋点事件编码上报至服务端,由服务端根据所接收到的众多埋点事件编码进行数据分析,例如进行用户操作行为分析、统计各页面元素被触发的次数等。将埋点事件编码进行上报即实现了埋点事件的上报。
[0081]
在本技术的一些实施例中,终端部署了上报队列,在得到埋点事件编码后,将埋点事件编码添加至上报队列中,当上报队列中的埋点事件编码满足发送条件时,从上报队列中提取埋点事件编码发送至服务端。
[0082]
在本技术的一些实施例中,服务端中部署了暂存数据库,上报队列中的埋点事件编码被上传至暂存数据库中进行暂存。
[0083]
在本技术的方案中,将初始路径转换为路径字符串,使得在路径字符串中,初始路径中各页面元素的属性信息被过滤掉,仅通过元素标签和元素序号的组合来标识各页面元素,路径字符串的数据量相较于初始路径的数据量大幅减小,实现了初始路径的简化。相较于根据初始路径生成的埋点事件编码而言,通过路径简化所得到的路径字符串来生成的埋点事件编码的数据量也大幅减少,从而,在上报埋点事件编码的过程中,由于埋点事件编码的数据量减少,则传输该埋点事件编码所占用的网络带宽也对应减少,由此提高了网络的利用率。
[0084]
在全埋点的应用场景中,由于需要将页面中的全部页面元素作为埋点对象,并对应进行埋点事件编码上报,需要传输的数据量是巨大的,而按照本技术的方法对初始路径进行转换,并对应生成埋点事件编码和上报,可以大幅减少数据传输量。
[0085]
而且,由于页面元素的属性信息与页面的内容相关,而路径字符串中并不包括页
面元素的属性信息,从而,实现了路径字符串与页面内容的独立,该路径字符串仅体现了目标页面元素所对应路径的结构信息。
[0086]
相关技术中,越来越多的在线项目,采用如css modules等组件样式处理技术来进行项目构建,在项目每次构建时,可能会重新生成与之前版本完全不同的类(class)名称,导致页面元素的类属性变化,而在该种情况下,按照步骤220的过程对初始路径进行转换,可以保证即使目标页面元素的初始路径中所涉及各页面元素的类属性发生变化,而目标元素对应的路径字符串保持不变。同理,即使目标页面元素的初始路径中所涉及各页面元素的文本属性或者标识属性发生变化,同样可以保证目标元素对应的路径字符串保持不变。
[0087]
总结来说,在页面中因页面元素的属性信息发生变化导致页面内容变化时,由于该目标页面元素的路径字符串中并不携带各页面元素的属性信息,因此,该目标页面元素对应的路径字符串保持不变,从而,可以保证在页面元素的属性信息发生变化的情况下仍然可以进行埋点事件匹配和处理。
[0088]
在本技术一些实施例中,如图4所示,步骤210包括:
[0089]
步骤410,获取目标页面元素的被触发坐标信息。
[0090]
其中,被触发坐标信息用于指示目标页面元素被用户触发时的被触发位置的坐标,例如若目标页面元素被用户点击,则该被触发坐标信息用于指示目标页面元素上的被点击坐标。
[0091]
步骤420,根据被触发坐标信息逐级进行父页面元素查找,直至所查找到的父页面元素所对应元素标签为指定元素标签。
[0092]
其中,父页面元素是指当前需要进行回溯的页面元素的上一级页面元素,即,该父页面元素是相对于当前的页面元素而言的。在步骤420中,以目标页面元素为基础,逐级进行回溯,查找对应的父页面元素。
[0093]
在本技术的一些实施例中,document.elementsfrompoint接口用于获取到当前视口内指定坐标处的所有页面元素,因此,可以通过document.elementsfrompoint接口来根据被触发坐标信息获取到目标页面元素,进而,以目标页面元素作为基点,逐级进行父页面元素查找,直至所查找到的父页面元素的元素标签为指定元素标签。
[0094]
例如,若指定元素标签为body标签,则若查找到一父页面元素的元素标签为body标签,则停止进行回溯,所查找到元素标签为body标签的页面元素即为初始路径中的根节点。
[0095]
在查找到各父页面元素后,可以对应从目标页面的页面文档中获取到对应页面元素的元素信息,其中页面元素的元素信息包括页面元素的元素标签、元素序号和属性信息,属性信息例如上文所列举的文本属性、标识属性、类属性、尺寸信息等。
[0096]
步骤430,根据目标页面元素对应的元素信息和所查找到各父页面元素对应的元素信息生成初始路径,元素信息至少包括所对应页面元素的元素标签和元素序号。
[0097]
将所查找到各页面元素对应的元素信息和目标页面元素对应的元素信息按照对应的上下级关系进行组合,即得到初始路径。
[0098]
通过如上步骤410-430的过程,实现了目标页面元素所对应初始路径的获取。
[0099]
在本技术一些实施例中,元素信息包括页面元素的属性信息;在步骤220之前,该方法还包括:根据目标页面元素的属性信息确定目标页面元素所属的埋点类型。在本实施
例中,步骤220包括:
[0100]
根据目标页面元素所属埋点类型对应的转换方式对初始路径进行转换,得到路径字符串。
[0101]
在本实施例中,按照页面元素的属性信息对页面元素进行了类型划分,每一类型对应作为一埋点类型,其中,每一埋点类型对应一种转换方式。
[0102]
在本技术一些实施例中,埋点类型包括第一类型和第二类型,归属于第一类型的页面元素为非均质元素,归属于第二类型的页面元素为均质元素。
[0103]
根据目标页面元素所属埋点类型对应的转换方式对初始路径进行转换,得到路径字符串的步骤,包括:
[0104]
若目标页面元素所属的埋点类型为第一类型,按照初始路径中各页面元素的排列顺序,将从初始路径中所提取各页面元素所对应的元素序号和所对应的元素标签进行组合,得到路径字符串。
[0105]
若目标页面元素所属的埋点类型为第二类型,按照初始路径中各页面元素的排列顺序,将从初始路径中所提取作为中间节点的页面元素所对应的元素序号和所对应的元素标签、以及所提取目标页面元素所对应的元素标签进行组合,得到路径字符串。
[0106]
均质元素,又可称为同类元素,是指在同一父页面元素下,彼此之间不存在顺序关系的页面元素,也就是说在该父页面元素下的多个页面元素之间不存在顺序关系,均质元素例如页面中的无序列表项目元素、单元格元素等。反之,若在同一级父页面元素下,彼此之间存在顺序关系的页面元素为非均质元素。例如图3中边框1所在区域对应的页面元素与body标签下的其他div元素之间存在顺序关系,则该边框1所在区域对应的页面元素为非均质元素。
[0107]
对于均质元素,往往需要统计所在同一级全部页面元素的聚合结果,而单独针对每一均质元素进行统计的意义不大。因此,在本实施例中,若目标页面元素所属的埋点类型为第二类型(即该目标页面元素为均质元素),则目标页面元素对应的路径字符串中,将目标页面元素对应的元素标签进行显式指定,即以所对应的元素标签来标识目标页面元素,那么在目标页面元素处于同一级的其他均质元素对应的路径字符串与该目标页面元素对应的路径字符串相同,从而服务端可以在将该多个均质元素进行聚合统计,而不是分别针对该一级中的每个均质元素进行统计。
[0108]
而对于非均质元素,在路径字符串中,各页面元素均通过所对应的元素标签和元素序号来标识。
[0109]
继续上述图3对应的举例,将图3中边框3所在区域所对应的页面元素作为目标页面元素,若该目标页面元素所属的埋点类型为第一类型,则该目标页面元素对应的路径字符串为“body/div:5/div:1/div:1”;若该目标页面元素所属的埋点类型为第二类型,则该目标页面元素对应的路径字符串为“body/div:5/div:1/div”。
[0110]
在本技术的一些实施例中,第一类型包括第一子类型,归属于第一子类型的页面元素中包括至少两个控件;在本实施例中,步骤230,包括:根据路径字符串、目标页面对应的页面地址和目标页面元素对应的附加信息,生成预编码字符串,附加信息包括目标页面元素所属的埋点类型;在目标页面元素所属的埋点类型为第一子类型时,附加信息还包括目标页面元素中被触发的控件对应的文本属性内容;对预编码字符串进行加密,得到对应
于目标页面元素的埋点事件编码。
[0111]
针对包括至少两个控件的页面元素,用户触发该页面元素中不同的控件,是进行的不同操作,由于该多个控件位于同一页面元素中,如果不进行区分,则触发该页面元素中不同控件的埋点事件编码是聚合在一起的。
[0112]
因此,在目标页面元素所属的埋点类型为第一子类型时,为了便于服务端区分同一目标页面元素中的不同控件,将目标页面元素中被触发的控件对应的文本属性内容添加至附件信息中,将被控件对应的文本属性内容作为埋点事件编码的一部分信息,从而,服务端可以根据附件信息中的文本属性内容来区分该目标页面元素中不同的控件。
[0113]
举例来说,若一目标页面元素中包括“注册”和“登录”这两个控件,“注册”这一控件对应的文本属性内容用于指示该控件用于触发注册操作,“登录”这一控件所对应的文本属性内容用于指示该控件用于触发登录操作。
[0114]
在本技术的一些实施例中,第一类型还包括第二子类型,归属于第二子类型的页面元素中所包括控件的数量不超过一个;针对包括控件的数据不超过一个的页面元素,由于不需要进行控件的区分,因此,其附加信息可以不包括被触发的控件的文本属性内容。
[0115]
在本实施例的方案中,针对均质元素和元素文本内容事件上报进行了支持,可以实现同类型页面元素的埋点事件编码的收集和元素文本内容变化感知。
[0116]
在本技术的一些实施例中,在本实施例中,根据路径字符串、目标页面对应的页面地址和目标页面元素对应的附加信息,生成预编码字符串的步骤之前,该方法还包括:对路径字符串进行简化,简化后的路径字符串中,作为根节点的页面元素所对应元素信息被省略,作为中间节点的页面元素通过所对应的元素序号来标识,目标页面元素通过所对应的元素标签或所对应的元素序号来标识;将目标路径字符串、目标页面对应的页面地址和目标页面元素对应的附加信息进行组合,得到预编码字符串。
[0117]
在本实施例中,为了进一步减小数据传输量,将路径字符串进行简化,使得简化后的路径字符串中,作为根节点的页面元素所对应元素信息被省略,作为中间节点的页面元素通过所对应的元素序号来标识,目标页面元素通过所对应的元素标签或所对应的元素序号来标识。对于通过元素序号来标识的页面元素,其元素序号可以标识该页面元素是其上一级页面元素的第几个子元素,因此,由于初始路径中作为根节点的页面元素已知的情况下,其后一级的页面元素可以以作为根节点的页面元素为父元素,来分别进行确定。
[0118]
在本技术的一些实施例中,若目标页面元素所属的埋点类型为第一类型,目标路径字符串中目标页面元素通过所对应的元素序号来标识;若目标页面元素所属的埋点类型为第二类型,目标路径字符串中目标页面元素通过所对应的元素标签来标识。
[0119]
继续上述图3对应的举例,继续将图3中边框3所在区域所对应的页面元素作为目标页面元素,则该目标页面元素对应的路径字符串为“body/div:5/div:1/div:1”。若该目标页面元素所属的埋点类型为第一类型,则将该目标页面元素对应的路径字符串进行简化后的路径字符串为“/5/1/1”;若该目标页面元素所属的埋点类型为第二类型,则将该目标页面元素对应的路径字符串进行简化后的路径字符串为“/5/1/div”。
[0120]
在本实施例中,在初始路径中根节点之后的页面元素为嵌套的多层相同元素标签的页面元素的情况下,通过对初始路径字符串进行简化,使得简化后路径字符串的长度相对于简化前的路径字符串的长度大幅缩短,数据量对应减小,在上述举例中,目标路径字符
串为“/5/1/1”相较于路径字符串“body/div:5/div:1/div:1”,目标路径字符串的数据量减小了84%。
[0121]
在初始路径中根节点之后的页面元素为嵌套的多层相同元素标签的页面元素的情况下,将简化后的路径字符串、目标页面对应的页面地址和目标页面元素对应的附加信息进行组合,得到预编码字符串;当然,若初始路径中根节点之后的页面元素不是嵌套的多层相同元素标签的页面元素(换言之,初始路径中根节点之后包括至少两种不同元素标签的页面元素),直接将路径字符串、目标页面对应的页面地址和目标页面元素对应的附加信息进行组合,得到预编码字符串。
[0122]
在本技术一些实施例中,步骤220之前,该方法还包括:按照预设的过滤规则对目标页面元素进行过滤。
[0123]
对于提供用户进行任意输入的页面元素,例如供用户输入所要翻译单词的单词输入框、单词查询输入框等,由于该页面元素供用户进行任意输入,如果将该页面元素中所输入的文字内容添加到附加信息中,并为该页面元素进行埋点事件编码上报的话,在输入内容不同的情况下,为该页面元素所生成的埋点事件编码也对应不同,可能会导致得到的埋点事件编码完全发散,进而可能导致数据无法聚合。
[0124]
因此,为了避免此种情况,可以预先设定过滤规则,对该类用于进行内容输入的页面元素进行过滤,即不为该类页面元素生成埋点事件编码。
[0125]
在本技术的一些实施例中,可以根据页面元素的元素信息来识别该页面元素是否为用于进行内容输入的页面元素。若页面元素的元素信息中包括input标签或者文本域标签text-area,则确定该页面元素为用于进行内容输入的页面元素。
[0126]
在本技术的一些实施例中,预设的过滤规则限定需要过滤掉的页面元素可以是该目标页面元素本身是用于进行内容输入的元素、其子页面元素中包括用于进行内容输入的页面元素、其兄弟页面元素中包括用于进行内容输入的页面元素。
[0127]
例如上述初始路径为“/html/body/div[1]/form[1][@name=“f”]/span[1][@class=“bt”]/input[1][@id=“su”]”的目标页面元素,该目标页面元素的元素标签为“input”,表明该目标页面元素为进行内容输入的元素,则按照上述的过滤规则,该元素标签为“input”的目标页面元素是需要被过滤掉的页面元素,则不需要为该目标页面元素生成埋点事件编码。
[0128]
同理,如果目标页面元素的元素标签为“text-area”,按照上述的过滤规则,该目标页面元素也是需要被过滤掉的页面元素。
[0129]
在上述的过滤规则下,对于一目标页面元素,还需要获取该目标页面元素的子页面元素的元素信息以及目标页面元素的兄弟页面元素(即与目标页面元素同级的页面元素)的元素信息,通过所获取的元素信息来判断目标页面元素的子页面元素或者兄弟页面元素的元素标签是否为“input”标签或者“text-area”标签,如果是,则该目标页面元素也是需要被过滤掉的页面元素,不需要为该目标页面元素生成埋点事件编码。当然,在其他实施例中,还可以根据实际需要进行设定过滤规则,以过滤掉其他不需要生成埋点事件编码的页面元素,在此不进行具体限定。
[0130]
图5是根据本技术的一个实施例示出的埋点事件的处理方法的流程图,该埋点事件的处理方法可以由图1中所示的服务器来执行。参照图5所示,该埋点事件的处理方法至
少包括步骤510至步骤520,详细介绍如下。
[0131]
步骤510,获取埋点配置信息,所述埋点配置信息包括被埋点页面元素的埋点事件编码,所述被埋点页面元素的埋点事件编码是按照上述埋点事件编码的生成方法生成的。
[0132]
在本技术的一些实施例中,埋点配置信息是通过对页面元素进行埋点生成的,通过所生成的埋点配置信息来指示哪些页面元素的埋点事件编码是被需要的。
[0133]
在本技术的一些实施例中,步骤510之前,该方法还包括:在埋点元素配置页面中所内嵌显示的第一目标页面中,根据对所述第一目标页面中的页面元素触发的元素埋点配置操作,按照上述埋点事件编码的生成方法为被触发页面元素生成对应的埋点事件编码;根据所生成的埋点事件编码生成埋点配置信息。
[0134]
在本实施例中,提供了用于进行埋点元素配置的页面,即埋点元素配置页面,在该页面中,分析人员可以对页面元素进行埋点。
[0135]
其中,第一目标页面并不特指某一页面,泛指需要进行页面元素埋点的页面。在本实施例中,第一目标页面内嵌显示在埋点元素配置页面中。其中,第一目标页面可以是以iframe方式内嵌显示在埋点元素配置页面中。由于第一目标页面内嵌显示在埋点元素配置页面中,从而,便于分析人员可视化圈选第一目标页面中的页面元素,以进行被圈选页面元素的埋点,被圈选的页面元素即为被埋点页面元素。
[0136]
在本实施例中,由于第一目标页面内嵌显示在埋点元素配置页面中,分析人员可以圈选所显示第一目标页面中的页面元素,然后对应获取被圈选页面元素的初始路径,并按照上述埋点事件编码生成方法根据被圈选页面元素的初始路径生成对应的埋点事件编码。
[0137]
步骤520,若终端所上报的埋点事件编码为所述被埋点页面元素的埋点事件编码,则将所上报的埋点事件编码存储至分析数据库中,所述终端在所显示页面中的页面元素被触发时,按照埋点事件编码的生成方法生成对应的埋点事件编码并上报。
[0138]
在本实施例中,终端中进行页面的显示,若终端中所显示页面中的页面元素被触发,则对应获取被触发页面元素的初始路径,并按照上述埋点事件编码的生成方法生成被触发页面元素的埋点事件编码,然后将所生成的埋点事件编码上报至服务端。
[0139]
在终端将埋点事件编码上报到服务端中后,服务端根据埋点配置信息中被埋点页面元素的埋点事件编码,判断终端所上报埋点事件编码是否与被埋点页面元素的埋点事件编码一致,如果一致,则表明终端所上报埋点事件编码是被埋点页面元素的埋点事件编码;反之,表明终端所上报埋点事件编码不是被埋点页面元素的埋点事件编码
[0140]
在本实施例中,由终端进行埋点事件编码的上报,服务端按照埋点配置信息来对终端所上报的埋点事件编码进行筛选,即如果终端所上报的埋点事件编码为埋点配置信息所指示被埋点页面元素的埋点事件编码,则将终端所上报的埋点事件编码存储至分析数据库中,从而,可以不用先向终端下发埋点配置信息,终端可以在所显示页面中的任一页面元素被触发时为被触发的页面元素生成埋点事件编码并进行埋点事件编码的上报,在服务端来根据埋点配置信息进行终端所上报埋点事件编码的筛选,在终端中,相当于对页面元素进行全埋点。而且,由于在终端是中对页面元素全埋点,在埋点配置信息变化时,也可以按照变化后的埋点配置信息从终端所上报的埋点事件编码筛选出对应的埋点事件编码。
[0141]
在本技术的一些实施例中,服务端中还设有暂存数据库,若终端所上报的埋点事
件编码不是被埋点页面元素的埋点事件编码,则将该终端所上报的埋点事件编码存储至暂存数据库中,便于分析人员根据需要从暂存数据库中提取所需要页面元素的埋点事件编码进行数据分析。
[0142]
在本技术的一些实施例中,所述根据所生成的埋点事件编码生成埋点配置信息的步骤之后,该方法还包括:
[0143]
在所内嵌显示的第一目标页面中,按照指定的显示方式显示被埋点页面元素。
[0144]
其中,指定的显示方式可以是指定的颜色,或者为被埋点页面元素附加设定的标记等,在此不进行具体限定。在一具体实施例中,指定的显示方式可以是高亮显示,即可以在内嵌显示的第一目标页面中,高亮显示被埋点页面元素。
[0145]
通过按照指定的显示方式显示被埋点页面元素,使得被埋点页面元素的显示方式区别于非埋点页面元素的显示方式,从而便于用户或者分析人员直观明了地确定所显示第一目标页面中哪些页面元素是被埋点页面元素。
[0146]
在本技术的一些实施例中,埋点元素配置页面设有用于控制是否按照指定的显示方式显示被埋点页面元素操作控件,如果该操作控件被触发打开,则按照指定的显示方式显示埋点配置信息所指示的被埋点页面元素,反之,如果该操作控件被触发关闭,则按照与非埋点页面元素相同的方式显示被埋点页面元素,即在第一目标页面中,非埋点页面元素与被埋点页面元素是无差别显示的。
[0147]
可以理解的是,在按照指定的显示方式显示被埋点页面元素之前,还需要确定被埋点页面元素在所显示第一目标页面中的位置。
[0148]
在本技术的一些实施例中,所述在所内嵌显示的第一目标页面中,按照指定的显示方式显示被埋点页面元素之前,该方法还包括:获取被埋点页面元素的路径字符串;根据所述被埋点页面元素的路径字符串进行路径重构,得到所述被埋点页面元素的路径信息;根据所述被埋点页面元素的路径信息,确定所述被埋点页面元素在所内嵌显示的第一目标页面中的位置。
[0149]
在本技术的一些实施例中,所获取被埋点页面元素的路径字符串可以是终端进行上报的。如上所描述,终端在生成埋点事件编码的过程中,需要先对目标页面元素的初始路径进行转化,得到目标页面元素的路径字符串。因此,终端可以将所得到的路径字符串上报至服务端中,并将所上报页面元素的路径字符串与页面元素的埋点事件编码关联存储。从而,在服务端确定终端所上报的埋点事件编码是被埋点页面元素的埋点事件编码时,可以对应获取到该被埋点页面元素的路径字符串。
[0150]
在本技术的另一些实施例中,所获取被埋点页面元素的路径字符串还可以是对页面元素进行埋点配置的过程中得到的。如上所描述,在埋点元素配置页面中所内嵌显示的第一目标页面中对页面元素进行埋点配置的过程中,在用户圈选所显示第一目标页面中的页面元素时,对应获取该页面元素的初始路径,并按照上述埋点事件编码的生成方法生成所圈选的页面元素的埋点事件编码,进而,该被圈选的页面元素即为被埋点页面元素。在该过程中,仍然涉及到对圈选页面元素的初始路径进行转换,得到所圈选页面元素的路径字符串的过程。因此,在本实施例中,可以将该过程中所得到所圈选页面元素的路径字符串与所生成的埋点事件编码相关联存储,例如将该路径字符串作为埋点配置信息的一部分与埋点事件编码相关联存储。在本实施例中,在确定终端所上报的埋点事件编码为被埋点页面
元素的埋点事件编码后,则可以对应获取到由进行埋点配置的一端为该被埋点页面元素所得到的路径字符串。
[0151]
在本技术一些实施例中,根据所述被埋点页面元素的路径字符串进行路径重构,得到所述被埋点页面元素的路径信息的步骤,包括:将路径字符串中各页面元素对应的元素标签和对应的元素序号转换为对应的选择器标识;根据各页面元素所对应的选择器标识进行路径重构,得到被埋点页面元素的路径信息。
[0152]
值得一提的是,此处的选择器标识是指标签选择器的选择器标识。在本技术的一些实施例中,可以通过路径字符串中各页面元素对应的元素序号按照“nth-child(n)”的形式来获得页面元素的选择器标识,其中,“child(n)”中的n为元素序号。例如路径字符串“body/div:5/div:1/div:1”中,“div:5”这一页面元素的选择器标识可以为“div:nth-child(5)”。
[0153]
继续上述图3中的举例,若路径字符串为“body/div:5/div:1/div:1”,则通过进行路径重构,所得到的路径信息可以是“body div:nth-child(5)div:nth-child(1)div:nth-child(1)”;若在初始路径中根节点之后的页面元素为嵌套的多层相同元素标签的页面元素的情况下,上述路径信息还可以进一步简化为“body:nth-child(5):nth-child(1):nth-child(1)”。
[0154]
在本技术一些实施例中,在得到被埋点页面元素的路径信息后,可以将路径信息传入document.queryselector接口,可以对应确定被埋点页面元素在第一目标页面中的位置。
[0155]
在确定被埋点页面元素在所内嵌显示的第一目标页面中的位置后,则可以按照指定的显示方式显示被埋点页面元素,例如按照上述所列举的,对被埋点页面元素进行高亮显示。
[0156]
下面结合一具体实施例对本技术的埋点事件编码的生成方法和埋点事件的处理方法进行说明。
[0157]
图6示出了本实施例中的应用场景图,如图6所示,该应用场景包括终端、埋点后台和分析端,其中分析端包括第一分析平台和第二分析平台。
[0158]
埋点后台中提供了配置页面,数据分析人员可以在配置页面中对所内嵌显示的第一目标页面中的页面元素进行圈选,(所圈选的页面元素也被称为被埋点页面元素),进而生成所圈选页面元素对应的埋点配置信息(该埋点配置信息又可以称为圈选配置信息),并将埋点配置信息上传到第一分析平台中。其中,埋点后台中设置了埋点sdk,在埋点后台所内嵌显示的第一目标页面中的页面元素被圈选时,可以通过该埋点sdk来生成被圈选页面元素的埋点事件编码,并进而根据所生成的埋点事件编码生成针对被圈选页面元素的埋点配置信息。该埋点配置信息可以被下发到分析端中。
[0159]
终端中设置了埋点sdk,该埋点sdk在检测到终端中所显示页面中的页面元素被触发后,进行埋点事件编码的计算,并将埋点事件编码上报至第一分析平台中。
[0160]
第一分析平台根据埋点配置信息对终端所上报的埋点事件编码进行筛选,若确定所上报的埋点事件编码是埋点配置信息所指示被埋点页面元素的埋点事件编码,则将该终端上报的埋点事件编码发送到第二分析平台,由第二分析平台针对该埋点事件编码进行进一步分析。
[0161]
图7是基于图6所示的应用场景示出的埋点事件编码生成和埋点事件处理的流程图。
[0162]
如图7所示,分析端与终端、埋点后台均建立了通信连接。其中,分析端中部署了数据上报服务、应用服务、数据分析服务,并设置了暂存数据库、分析数据库和应用配置数据库。其中,数据上报服务用于接收终端所上报的埋点事件编码;应用服务用于接收埋点后台上报的圈选配置信息,并向埋点后台提供已经保存的圈选配置信息,应用服务在接收到上报的圈选配置信息后,将圈选配置信息存储至应用配置数据库中。
[0163]
如图7所示,在终端中,若用户打开了集成了埋点sdk的页面,通过如下步骤721-724进行埋点事件编码的上报:步骤721,埋点sdk监听页面点击、曝光等事件,步骤722,监听到页面元素被用户触发;步骤723,埋点sdk生成埋点事件编码;步骤724,将埋点事件编码添加到上报队列,延迟上报。其中,埋点sdk调用处理函数,计算相应的埋点事件编码并加入到上报队列,延迟与数据上报服务进行通信,将事件埋点数据保存至分析数据暂存数据库中。
[0164]
在埋点后台中,通过如下步骤711-714实现在埋点后台内嵌显示第一目标页面:步骤711,埋点sdk检测到处于埋点后台使用场景,与该埋点后台建立连接;步骤712,在埋点后台处于浏览状态,埋点sdk拦截页面中的跳转行为;步骤713,在埋点后台处于圈选状态,埋点sdk拦截用户的点击行为向埋点后台传递被点击页面元素的信息;步骤714,埋点后台与埋点sdk持续通信,获得元素信息并提供可视化圈选的配置页面;该配置页面中内嵌显示第一目标页面,便于用户对所内嵌显示的第一目标页面中的页面元素进行可视化圈选。
[0165]
在埋点后台中,数据分析人员可以登录到埋点后台并可以对需要进行埋点配置的页面进行配置。数据分析人员能够使用鼠标点选的方式,通过埋点后台与埋点sdk的约定数据形式通信。埋点后台提供了可视化配置页面进行页面元素圈选,通过圈选页面元素并进而生成被圈选页面元素的埋点配置信息,所生成的埋点配置信息将被发送至应用服务并完成事件登记,并保存到应用配置数据库中。
[0166]
在分析端中,当圈选配置信息初次生效,应用服务在一定周期内对暂存数据库中的埋点事件编码进行批量处理,将数据分析人员存入的埋点配置信息与待处理的埋点事件编码进行比对,将暂存数据库中对应为埋点配置信息所指示的被埋点页面元素的埋点事件编码转存到分析数据库中持久化存储。之后数据分析服务能够即时访问到分析数据库中的数据。当圈选配置信息已经生效,应用服务根据埋点配置信息判断终端所上报的埋点事件编码是否为被埋点页面元素的埋点事件编码,若为是,则将所上报的埋点事件编码以秒级延迟存入分析数据库中,可以减小因批处理周期带来的时延。
[0167]
图8是根据本技术一实施例示出的埋点sdk的工作流程图。如图8所示,在埋点sdk启动后,若埋点sdk不是处于埋点后台环境,即表明埋点sdk运行用户所在终端中,则埋点sdk执行下述步骤801-810:
[0168]
步骤801,上报页面事件并监听页面关闭事件;
[0169]
步骤802,监听针对页面元素的点击事件;若监听到点击事件,执行步骤803;
[0170]
步骤803,获取目标页面元素的初始路径;
[0171]
步骤804,计算目标页面元素的路径字符串;
[0172]
步骤805,判断是否满足内容采集条件;若满足,执行步骤806;若不满足,执行步骤807;
[0173]
步骤806,生成预编码字符串。具体根据目标页面元素的路径字符串、目标页面元素所在页面的页面地址和目标页面元素的附加信息生成预编码字符串。
[0174]
步骤807,md5加密处理并添加至上报队列中;具体的,将预编码字符串进行md5加密处理,得到埋点事件编码,并将埋点事件编码添加到上报队列中。
[0175]
步骤808,延迟上报埋点事件编码;
[0176]
步骤809,判断页面所在的应用程序是否结束运行;若结束,则执行步骤810,若未结束,返回执行步骤802。
[0177]
步骤810,上报页面关闭事件。
[0178]
在埋点sdk启动后,若埋点sdk处于埋点后台环境,则请求埋点后台建立圈选连接;在圈选连接成功后,若埋点后台处于圈选状态,则执行如下步骤11-817:
[0179]
步骤811,获取圈选配置信息;
[0180]
步骤812,页面元素路径回溯和展示已圈选元素;具体先被圈选页面元素的路径字符串进行路径回溯,确定所对应页面元素的路径信息,然后根据路径信息确定被圈选页面元素在页面中的位置并对已圈选页面元素高亮显示。
[0181]
步骤813,检测是否有未回溯的元素;若为否,则执行步骤814;若有,则执行步骤814-1:在埋点后台进行弹框提示;
[0182]
步骤814,将页面基本信息传递给埋点后台,页面基本信息例如页面高度和宽度等。
[0183]
步骤815,监听配置页面中的点击事件并阻止页面默认点击行为;如果监听到配置页面中的点击事件,则执行步骤816;如果未监听到配置页面中的点击事件,则继续执行步骤815;
[0184]
步骤816,展示被点击选中的页面元素,并所选中的页面元素的元素信息、如元素路径字符串、元素截图等传递给埋点后台进行预览。
[0185]
步骤817,检测是否退出圈选;若为是,则检测是否处于圈选状态;若为否,则返回执行步骤815。
[0186]
在圈选连接成功后,若埋点后台不是处于圈选状态,则顺次执行步骤818-820:
[0187]
步骤818,加载终端中的页面,具体的,以iframe的方式内嵌显示页面。
[0188]
步骤819,监听页面跳转事件,阻止页面跳转行为;
[0189]
步骤820,检测是否退出后台,若为否,则返回执行步骤818,若为是,则结束。
[0190]
综上可以看出,埋点sdk的工作流程与其所处的工作环境有关。当埋点sdk处于终端的页面中时,埋点sdk会默认上报页面曝光事件数据,同时监听用户的全局点击事件,并在用户点击时计算各类型的埋点事件编码,并延迟上报;当埋点sdk处于埋点后台环境中时,会延迟获取圈选部分的页面元素,并执行额外的工作任务以提供可视化圈选功能,比如拦截点击事件、追溯已圈选元素、高亮圈选元素等。
[0191]
在本实施例中,埋点sdk自动全埋点,能够将终端中所显示页面发生的点击或曝光事件悉数自动采集并上报,上报的事件数据将暂存于分析后台。在埋点后台所提供的配置页面中进行作为埋点对象的页面元素的可视化预览和可视化圈选。成功被圈选的页面元素对应的埋点事件编码会被存储至分析数据库中,并进一步纳入更复杂的数据分析流程。
[0192]
在本方案中,由于并不需要先在后台进行埋点配置,终端中的埋点sdk可以基于埋
点类型针对触发的交互事件进行处理,生成对应的埋点事件编码并上报,因此,无需在用户所在终端引入额外的埋点配置网络请求。
[0193]
埋点后台使用iframe的方式来嵌入页面,通过约定信息报文(postmessage接口的数据格式)与埋点sdk建立通信连接,并通过事件信息交换完成元素埋点数据预览、元素截图预览、圈选页面元素等功能。
[0194]
图9是根据一实施例示出的埋点后台中管理页面埋点配置的界面示意图。如图9所示,该名称为“xx增长”的埋点后台可以用于针对web平台、android平台以及ios平台中的页面进行埋点配置。点击图9中的“新建埋点配置”这一控件,可以进入图10所示的创建页面埋点配置界面,如图10所示,可以进行配置名称、所属应用(即页面所属应用)、展示页面url(uniform resource locator,统一资源定位符)配置,并提供了“精准匹配”选项和“模糊匹配”选项供用户选择。在本实施例中,针对所属的应用,还进一步可以进行应用信息配置,配置该应用名称、应用所在平台类型、创建时间、应用id、创建人等信息。
[0195]
针对每一页面,还可以在页面对应的埋点配置页面中针对该页面中所包括页面元素进行埋点配置,且还可以针对一页面中已进行埋点配置的页面元素可以进行管理。
[0196]
图11是根据一实施例示出的管理元素埋点页面的示意图,如图11所示,针对a官网首页,显示了被圈选(被埋点)页面元素的部分埋点配置信息,其中,埋点配置信息包括事件名称、事件id、事件描述、创建人、创建日期等信息。进一步的,数据分析人员还可以基于该管理元素埋点页面所提供的操作选项对已配置的页面埋点进行操作,例如删除操作、编辑操作等。
[0197]
点击图11中针对任一页面元素的埋点配置信息,可以进入图12所示针对页面元素埋点的埋点详情页面。如图12所示,在该埋点详情页面中,显示了该页面元素对应的埋点配置信息(事件名称、页面地址、事件类型、统计类型、事件描述、事件code(编码))、数据趋势、以及埋点截图、其他信息(创建人、创建时间、最后更新时间、最后更新人等)。其中,事件code是为该被埋点页面元素所生成的埋点事件编码。
[0198]
埋点后台还可以按照页面内嵌显示的方式显示该页面中的各页面元素。在埋点后台所内嵌显示的页面中,还可以根据所显示页面中的页面元素进行圈选配置。图13示出了可视化圈选定义页面曝光事件的界面示意图,如图13所示,可以在该定义页面曝光事件的界面中进行页面名称、页面地址、页面规则的定义。
[0199]
图14示出了在埋点后台的配置页面中内嵌显示a网站首页中页面元素的示意图,若点击配置页面中的“浏览模式”这一控件,则可以显示如图14中粗线方框内的内容,该粗线方框中的内容即为a网站首页中的内容。如图14所示,埋点后台的页面中提供了两种进行终端页面中页面元素的显示模式,分别为埋点模式和浏览模式,在浏览模式下,可以浏览所显示终端页面中的各页面元素,图14即为在浏览模式下终端页面中各页面元素的显示示意图。
[0200]
在埋点模式下,数据分析人员可以针对所显示终端页面中的页面元素进行埋点配置,并且,埋点后台的配置页面中还提供了“高亮已圈选页面元素”的选项,如果选定该“高亮已圈选页面元素”的选项,已被圈选的页面元素会在埋点后台中高亮显示。图15示出了在埋点后台中高亮显示a网站首页中已圈选页面元素的示意图,如图15所示,在埋点后台的页面中,a网站首页中已圈选的页面元素被高亮显示,从而,便于用户快速知晓哪些页面元素
是已圈选的页面元素。在图15中,粗线方框内被加深的页面元素即为被高亮显示的页面元素。
[0201]
基于埋点后台所显示目标页面中的各页面元素,在埋点后台的界面中还可以对所显示目标页面中的页面元素进行可视化圈选。例如,针对埋点后台中所显示a网站首页中的页面元素,如图16所示,在埋点模式下,若点击所显示的文本内容为“中文”这一页面元素,即对页面元素触发圈选操作,对应可以圈选该页面元素。在本实施例中,针对埋点后台所显示a网站首页中的页面元素,若一页面元素是已圈选的页面元素,则点击该已圈选页面元素,可以显示图17所示针对该已圈选页面元素的埋点详情数据。如图17所示,埋点详情数据包括该页面元素对应的事件名称、页面规则、埋点类型以及元素数据趋势等。
[0202]
以下介绍本技术的装置实施例,可以用于执行本技术上述实施例中的方法。对于本技术装置实施例中未披露的细节,请参照本技术上述方法实施例。
[0203]
图18是根据一实施例示出的埋点事件编码的生成装置的框图,该埋点事件编码的生成装置可以配置于图1所示的终端中,如图18所示,该埋点事件编码的生成装置包括:初始路径获取模块1810,用于获取目标页面中目标页面元素的初始路径,初始路径以指定元素标签的页面元素作为根节点;转换模块1820,用于对初始路径进行转换,得到路径字符串;初始路径中各页面元素通过所对应的元素标签和元素序号的组合来标识;编码生成模块1830,用于根据路径字符串和目标页面对应的页面地址,生成对应于目标页面元素的埋点事件编码。
[0204]
在本技术一些实施例中,初始路径获取模块1810,包括:被触发坐标信息获取单元,用于获取目标页面元素的被触发坐标信息;父页面元素查找单元,用于根据被触发坐标信息逐级进行父页面元素查找,直至所查找到的父页面元素所对应元素标签为指定元素标签;初始路径生成单元,用于根据目标页面元素对应的元素信息和所查找到各父页面元素对应的元素信息生成初始路径,元素信息至少包括所对应页面元素的元素标签和元素序号。
[0205]
在本技术一些实施例中,元素信息包括页面元素的属性信息;该埋点事件上报装置还包括:
[0206]
埋点类型确定模块,用于根据目标页面元素的属性信息确定目标页面元素所属的埋点类型;
[0207]
在本实施例中,转换模块进一步用于:根据目标页面元素所属埋点类型对应的转换方式对初始路径进行转换,得到路径字符串。
[0208]
在本技术一些实施例中,埋点类型包括第一类型和第二类型,归属于第一类型的页面元素为非均质元素,归属于第二类型的页面元素为均质元素;
[0209]
在根据目标页面元素所属埋点类型对应的转换方式对初始路径进行转换,得到路径字符串的步骤中,转换模块进一步被配置为:若目标页面元素所属的埋点类型为第一类型,按照初始路径中各页面元素的排列顺序,将从初始路径中所提取各页面元素所对应的元素序号和所对应的元素标签进行组合,得到路径字符串;若目标页面元素所属的埋点类型为第二类型,按照初始路径中各页面元素的排列顺序,将从初始路径中所提取作为中间节点的页面元素所对应的元素序号和所对应的元素标签、以及所提取目标页面元素所对应的元素标签进行组合,得到路径字符串。
[0210]
在本技术一些实施例中,第一类型包括第一子类型,归属于第一子类型的页面元素中包括至少两个控件;编码生成模块1830,包括:预编码字符串生成单元,用于根据路径字符串、目标页面对应的页面地址和目标页面元素对应的附加信息,生成预编码字符串,附加信息包括目标页面元素所属的埋点类型;在目标页面元素所属的埋点类型为第一子类型时,附加信息还包括目标页面元素中被触发的控件对应的文本属性内容;加密单元,用于对预编码字符串进行加密,得到对应于目标页面元素的埋点事件编码。
[0211]
在本技术一些实施例中,初始路径中根节点之后的页面元素为嵌套的多层相同元素标签的页面元素,埋点事件编码的生成装置还包括:路径字符串简化模块,用于对路径字符串进行简化,;简化后的路径字符串中,作为根节点的页面元素所对应元素信息被省略,作为中间节点的页面元素通过所对应的元素序号来标识,目标页面元素通过所对应的元素标签或所对应的元素序号来标识。
[0212]
在本技术一些实施例中,埋点事件编码的生成装置还包括:上报模块,用于将埋点事件编码进行上报。
[0213]
图19是根据一实施例示出的埋点事件的处理装置的框图,该埋点事件的处理装置可以配置于图7所示的埋点后台中,如图19所示,该埋点事件的处理装置包括:埋点配置信息获取模块1910,用于获取埋点配置信息,所述埋点配置信息包括被埋点页面元素的埋点事件编码,所述被埋点页面元素的埋点事件编码是按照上述任一实施例所示的埋点事件编码的生成方法生成的;存储模块1920,用于若终端所上报的埋点事件编码为所述被埋点页面元素的埋点事件编码,则将所上报的埋点事件编码存储至分析数据库中,所述终端在所显示页面中的页面元素被触发时,按照上述埋点事件编码的生成方法生成对应的埋点事件编码并上报。
[0214]
在本技术一些实施例中,埋点事件的处理装置还包括:
[0215]
配置模块,用于在埋点元素配置页面中所内嵌显示的第一目标页面中,根据对所述第一目标页面中的页面元素触发的元素埋点配置操作,按照如上的埋点事件编码的生成方法为被触发页面元素生成对应的埋点事件编码。
[0216]
埋点配置信息生成模块,用于根据所生成的埋点事件编码生成埋点配置信息。
[0217]
在本技术一些实施例中,埋点事件的处理装置还包括:
[0218]
指定显示模块,用于在所内嵌显示的第一目标页面中,按照指定的显示方式显示被埋点页面元素。
[0219]
在本技术一些实施例中,埋点事件的处理装置还包括:
[0220]
路径字符串获取模块,用于获取被埋点页面元素的路径字符串。
[0221]
路径回溯模块,用于根据所述被埋点页面元素的路径字符串进行路径重构,得到所述被埋点页面元素的路径信息。
[0222]
位置确定模块,用于根据所述被埋点页面元素的路径信息,确定所述被埋点页面元素在所内嵌显示的第一目标页面中的位置。
[0223]
图20示出了适于用来实现本技术实施例的电子设备的计算机系统的结构示意图。
[0224]
需要说明的是,图20示出的电子设备的计算机系统2000仅是一个示例,不应对本技术实施例的功能和使用范围带来任何限制。
[0225]
如图20所示,计算机系统2000包括中央处理单元(central processing unit,
cpu)2001,其可以根据存储在只读存储器(read-only memory,rom)2002中的程序或者从存储部分2008加载到随机访问存储器(random access memory,ram)2003中的程序而执行各种适当的动作和处理,例如执行上述实施例中的方法。在ram 2003中,还存储有系统操作所需的各种程序和数据。cpu 2001、rom 2002以及ram 2003通过总线2004彼此相连。输入/输出(input/output,i/o)接口2005也连接至总线2004。
[0226]
以下部件连接至i/o接口2005:包括键盘、鼠标等的输入部分2006;包括诸如阴极射线管(cathode ray tube,crt)、液晶显示器(liquid crystal display,lcd)等以及扬声器等的输出部分2007;包括硬盘等的存储部分2008;以及包括诸如lan(local area network,局域网)卡、调制解调器等的网络接口卡的通信部分2009。通信部分2009经由诸如因特网的网络执行通信处理。驱动器2010也根据需要连接至i/o接口2005。可拆卸介质2011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器2010上,以便于从其上读出的计算机程序根据需要被安装入存储部分2008。
[0227]
特别地,根据本技术的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本技术的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分2009从网络上被下载和安装,和/或从可拆卸介质2011被安装。在该计算机程序被中央处理单元(cpu)2001执行时,执行本技术的系统中限定的各种功能。
[0228]
需要说明的是,本技术实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(erasable programmable read only memory,eprom)、闪存、光纤、便携式紧凑磁盘只读存储器(compact disc read-only memory,cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本技术中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本技术中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
[0229]
附图中的流程图和框图,图示了按照本技术各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可
以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0230]
描述于本技术实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
[0231]
作为另一方面,本技术还提供了一种计算机可读存储介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读存储介质承载计算机可读存储指令,当该计算机可读存储指令被处理器执行时,实现上述实施例中的方法。
[0232]
根据本技术的一个方面,还提供了一种电子设备,其包括:处理器;存储器,存储器上存储有计算机可读指令,计算机可读指令被处理器执行时,实现上述实施例中的方法。
[0233]
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本技术的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
[0234]
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本技术实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本技术实施方式的方法。
[0235]
本领域技术人员在考虑说明书及实践这里公开的实施方式后,将容易想到本技术的其它实施方案。本技术旨在涵盖本技术的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本技术的一般性原理并包括本技术未公开的本技术领域中的公知常识或惯用技术手段。
[0236]
应当理解的是,本技术并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本技术的范围仅由所附的权利要求来限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1