页面操作分析、埋点方法、装置、设备及存储介质与流程

文档序号:26590066发布日期:2021-09-10 20:37阅读:68来源:国知局
页面操作分析、埋点方法、装置、设备及存储介质与流程

1.本技术涉及互联网技术领域,尤其涉及一种页面操作分析、埋点方法、装置、设备及存储介质。


背景技术:

2.在一些场景下,需要对页面上的访问操作进行分析,以挖掘页面上的用户行为。基于用户行为的挖掘结果,可优化页面的设计或者优化页面承载的业务功能。
3.现有技术提供的页面分析方法,无法较为准确地分析页面上不同页面元素上的访问操作。因此,有待提出一种新的解决方案。


技术实现要素:

4.本技术的多个方面提供一种页面操作分析、埋点方法、装置、设备及存储介质,用以准确地对页面元素上的访问操作进行分析。
5.本技术实施例提供一种页面操作分析方法,包括:展示页面,所述页面包括第一页面元素;响应所述第一页面元素上的访问操作,获取所述访问操作对应的操作行为监测数据;根据所述访问操作触发的事件,向服务器发送处理请求,并监测所述服务器对所述处理请求的响应结果,得到操作结果监测数据;根据所述操作行为监测数据和所述操作结果监测数据,对所述第一页面元素上的访问操作进行分析。
6.本技术实施例还提供一种页面操作分析方法,包括:展示页面,所述页面包括第一页面元素;响应所述第一页面元素上的访问操作,根据第一埋点部署信息,对所述访问操作触发的事件进行追踪,以获取操作行为监测数据;根据所述访问操作触发的事件,向服务器发送处理请求;根据第二埋点部署信息,对所述处理请求进行追踪,以获取所述服务器对所述处理请求的响应结果,作为操作结果监测数据;根据所述操作行为监测数据和所述操作结果监测数据,对所述第一页面元素上的访问操作进行分析。
7.本技术实施例还提供一种埋点方法,包括:获取页面对应的抽象语法树;根据所述抽象语法树,确定所述页面关联的至少一个事件;在所述至少一个事件各自对应的事件处理器中,添加第一埋点部署信息以及第二埋点部署信息;其中,所述第一埋点部署信息用于在所属事件被触发时,对所属事件进行追踪,所述第二埋点部署信息用于追踪所属事件对应的处理请求。
8.本技术实施例还提供一种页面操作分析装置,包括:展示模块,用于:展示页面,所述页面包括第一页面元素;第一监测模块,用于:响应所述第一页面元素上的访问操作,获取所述访问操作对应的操作行为监测数据;请求模块,用于:根据所述访问操作触发的事件,向服务器发送处理请求;第二监测模块,用于:监测所述服务器对所述处理请求的响应结果,得到操作结果监测数据;分析模块,用于:根据所述操作行为监测数据和所述操作结果监测数据,对所述第一页面元素上的访问操作进行分析。
9.本技术实施例还提供一种页面操作分析装置,包括:展示模块,用于:展示页面,所
述页面包括第一页面元素;第一监测模块,用于:响应所述第一页面元素上的访问操作,根据第一埋点部署信息,对所述访问操作触发的事件进行追踪,以获取操作行为监测数据;请求模块,用于:根据所述访问操作触发的事件,向服务器发送处理请求;第二监测模块,用于:根据第二埋点部署信息,对所述处理请求进行追踪,以获取所述服务器对所述处理请求的响应结果,作为操作结果监测数据;分析模块,用于:根据所述操作行为监测数据和所述操作结果监测数据,对所述第一页面元素上的访问操作进行分析。
10.本技术实施例还提供一种埋点装置,包括:页面分析模块,用于:获取页面对应的抽象语法树;根据所述抽象语法树,确定所述页面关联的至少一个事件;埋点模块,用于:在所述至少一个事件各自对应的事件处理器中,添加第一埋点部署信息以及第二埋点部署信息;其中,所述第一埋点部署信息用于在所属事件被触发时,对所属事件进行追踪,所述第二埋点部署信息用于追踪所属事件对应的处理请求。
11.本技术实施例还提供一种电子设备,包括:存储器和处理器;所述存储器用于存储一条或多条计算机指令;所述处理器用于执行所述一条或多条计算机指令以用于:执行本技术实施例提供的页面操作分析方法或者本技术实施例提供的埋点方法。
12.本技术实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被处理器执行时能够实现本技术实施例提供的页面操作分析方法或者本技术实施例提供的埋点方法。
13.本技术实施例中,检测到针对页面元素的访问操作后,获取该访问操作对应的操作行为监测数据,并在向服务器发送处理请求之后,监测服务器对该处理请求的响应结果,得到操作结果监测数据;基于操作行为监测数据以及操作结果监测数据,可更加全面地获取到页面元素上的访问操作产生的多种数据,对页面元素上的访问操作实现了功能级别的监测,有利于更加准确地分析页面元素上的访问操作。
附图说明
14.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
15.图1是本技术一示例性实施例提供的页面操作分析方法的流程示意图;
16.图2是本技术另一示例性实施例提供的页面操分析方法的流程示意图;
17.图3是本技术一示例性实施例提供的页面操分析结果的展示示意图;
18.图4是本技术又一示例性实施例提供的页面操分析方法的流程示意图;
19.图5是本技术一示例性实施例提供的页面操作分析装置的结构示意图;
20.图6为本技术一示例性实施例提供的埋点装置的结构示意图;
21.图7是本技术一示例性实施例提供的电子设备的结构示意图。
具体实施方式
22.为使本技术的目的、技术方案和优点更加清楚,下面将结合本技术具体实施例及相应的附图对本技术技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
23.在一些常用的页面操作分析方法中,通常采用人工分析后端接口日志的方式来分析页面上的访问操作,或者在前端采用异常捕获语句(例如,用于捕获网页错误的try/catch语句)来监测页面元素上的访问操作。这些常用的页面操作分析方法无法较为准确地分析页面上不同页面元素上的访问操作。
24.针对上述技术问题,在本技术一些实施例中,提供了一种解决方案,以下结合附图,详细说明本技术各实施例提供的技术方案。
25.图1是本技术一示例性实施例提供的页面操作分析方法的流程示意图,如图1所示,该方法包括:
26.步骤101、展示页面,该页面包括第一页面元素。
27.步骤102、响应该第一页面元素上的访问操作,获取该访问操作对应的操作行为监测数据。
28.步骤103、根据该访问操作触发的事件,向服务器发送处理请求,并监测该服务器对该处理请求的响应结果,得到操作结果监测数据。
29.步骤104、根据该操作行为监测数据和该操作结果监测数据,对该第一页面元素上的访问操作进行分析。
30.本实施例的执行主体可以为终端设备,该终端设备可实现为计算机、手机、平板电脑等,本实施例不做限制。其中,页面可包括终端设备提供的用于展示信息的任意页面,例如,计算机上安装的浏览器提供的网页页面,手机终端的应用程序提供的应用程序页面等,本实施例不做限制。
31.页面上可包含一种或多种页面元素,例如按钮、编辑框等控件元素以及文本超链接、图片超链接等超链接元素等。页面元素可向用户提供多种不同的操作入口,以便于用户基于不同的操作入口访问并使用页面提供的功能。例如,页面元素实现为“编辑”、“删除”、“保存”等按钮控件时,用户可基于上述按钮控件,访问并使用页面提供的编辑数据、删除数据、以及保存数据的功能。又例如,页面元素实现为文本超链接元素或者图像超链接元素时,用户可基于上述超链接元素,访问链接指向的其他页面,不再赘述。
32.其中,对页面元素发起访问操作的用户,通常是页面信息的服务对象。例如,可包括使终端设备访问用应用程序页面的用户,以及使用浏览器访问网页的用户等。在一些其他场景下,该用户也可实现为用于测试页面开发效果的用户或者用于模拟页面测试的计算机程序,本实施例不做限制。
33.页面元素上的访问操作,指的是用户在页面元素上发起的某一种可被检测到的操作。访问操作可实现为多种不同类型的操作,例如,可以实现为针对页面元素的点击操作、输入操作、拖动操作、长按操作等,本实施例不做限制。其中,第一页面元素,指的是页面上的任一页面元素;此处用“第一”对其进行限定,仅用于方便描述和区分。
34.检测到第一页面元素上的访问操作时,可监测该访问操作行为产生的一系列数据,得到操作行为监测数据。操作行为监测数据可包括用于记录用户行为以及被访问的信息内容的多种数据,例如用户属性数据以及页面元素属性数据,以便于对用户的访问操作行为进行分析。
35.其中,每一页面元素可绑定一个或者多个事件,每个事件对应有事件监听器和事件处理器(event handler)。其中,事件监听器用于监听页面元素上的访问操作,以检测事
件是否被页面元素上的访问操作触发。事件处理器用于在该事件被触发时,执行对应的事件处理操作。
36.在一些场景下,事件处理器需在服务器的支持下完成事件处理操作,例如,需要服务器提供数据支持和计算能力支持。第一页面元素上发生访问操作时,触发第一页面元素绑定的某一事件。若该事件的处理过程需与服务器进行交互,那么该事件对应的事件处理器,可向服务器发送该事件对应的处理请求。例如,用户对页面上的“删除”按钮的点击操作,触发了特定数据的删除事件,该特定数据存放于服务器。那么,该删除事件的事件处理器可向服务器发送数据删除请求,以实现按钮绑定的数据删除功能。
37.在向服务器发送处理请求后,终端设备可监测服务器针对该处理请求的响应结果,并根据该响应结果得到操作结果监测数据。该操作结果监控数据用于记录访问操作触发的事件是否被成功处理,即,用户对页面元素的访问操作是否得到成功响应。
38.上述获取操作行为监测数据和操作结果监测数据的过程,实现了从不同的环节对页面元素上的访问操作进行监测,更加完整地捕获了访问操作产生的多种数据。基于操作行为监测数据和操作结果监测数据,可对页面元素上的访问操作进行分析。
39.在本实施例中,检测到针对页面元素的访问操作后,获取该访问操作对应的操作行为监测数据,并在向服务器发送处理请求之后,监测服务器对该处理请求的响应结果,得到操作结果监测数据;基于操作行为监测数据以及操作结果监测数据,可更加全面地获取到页面元素上的访问操作产生的多种数据,对页面元素上的访问操作实现了功能级别的监测,有利于更加准确地分析页面元素上的访问操作。
40.值得说明的是,在本技术的上述以及下述各实施例中,可通过对页面上的访问操作进行多次埋点,来获取页面元素上的访问操作产生的操作行为监测数据和操作结果监测数据。
41.其中,埋点,又称为事件追踪(event tracking),是指在特定的处理环节添加信息监测点,该信息监测点可在特定的事件或特定操作的触发下,捕获指定的信息。以下将结合埋点操作,对本技术实施例提供的页面操作分析方法进行进一步说明。
42.图2是本技术另一示例性实施例提供的页面操分析方法的流程示意图,如图2所示,该方法包括:
43.步骤201、获取页面对应的抽象语法树。
44.步骤202、根据该抽象语法树,确定该页面关联的至少一个事件;其中,每一事件可由其绑定的页面元素上的访问操作触发。
45.步骤203、在该至少一个事件各自对应的事件处理器中,添加第一埋点部署信息以及第二埋点部署信息。
46.步骤204、展示该页面,并在该页面上展示至少一个页面元素。
47.步骤205、响应第一页面元素上的访问操作,根据第一埋点部署信息,对该访问操作触发的事件进行追踪,以获取操作行为监测数据。
48.步骤206、根据访问操作触发的事件,向服务器发送处理请求。
49.步骤207、根据第二埋点部署信息,对该处理请求进行追踪,以获取操作结果监测数据。
50.步骤208、根据该操作行为监测数据和该操作结果监测数据,对该第一页面元素上
的访问操作进行分析。
51.在步骤201中,抽象语法树(abstract syntax tree,ast)是源代码语法结构的一种抽象表示。它以树状结构表现源代码的语法结构,树状结构上的一个节点表示源代码中的一种结构。
52.可选地,若页面采用javascript(一种编程语言,简称js)语言开发,则可采用babel工具获取页面的抽象语法树。babel工具是一款js编辑器,可对源语言进行转换。例如,babel工具可根据babylon库,将页面对应的js源代码转换为ast,不再赘述。
53.在步骤202中,基于抽象语法树表达的语法结构,可确定页面关联的一个或者多个事件。该一个或者多个事件与页面元素绑定,每个事件可由其绑定的页面元素上的访问操作触发。一个页面元素可绑定一个或者多个事件。
54.例如,一个页面按钮可绑定一个单击事件以及长按事件;其中,单击事件可由页面按钮上的单击操作触发,长按事件可由页面按钮上的长按操作触发。又例如,一个页面图片可绑定一个双击事件和一个拖拽事件;其中,双击事件可由页面图片上的双击操作触发,拖拽事件可由页面图片上的拖拽操作触发。
55.在步骤203中,事件处理器,用于在页面元素绑定的事件被页面元素上的访问操作触发时,执行设定的事件处理操作,以实现页面元素承载的业务功能。
56.为完善访问操作的监测流程,可在事件处理器中进行两次埋点,以在事件处理器中形成两个信息监测点。可选地,可在每个事件处理器中,添加第一埋点部署信息以及第二埋点部署信息。其中,第一埋点部署信息用于在其所属的事件被触发时,对其所属的事件进行追踪;第二埋点部署信息用于追踪其所属的事件对应的处理请求。
57.以下将以该至少一个事件中的任一事件为例对两次埋点操作进行示例性说明。为描述方便,将该任一事件描述为第一事件。
58.可选的,可在页面对应的源代码中,确定第一事件的事件处理器对应的代码。接着,可在该事件处理器对应的代码中确定目标代码,该目标代码用于在第一事件被触发时,向服务器发送对应的处理请求。接着,可在该目标代码之前添加第一埋点部署信息对应的代码,以及在目标代码之后添加第二埋点部署信息对应的代码。基于上述操作,在事件处理器中形成了两个信息监测点,第一个信息监测点在发送处理请求之前,第二个信息监测点在发送处理请求之后。
59.可选地,上述步骤201-步骤203可由基于babel工具开发的浏览器插件或者应用程序插件实现。页面在浏览器或者应用程序中打开时,该插件可自动分析页面对应的ast,并根据ast自动对代码中可由操作触发的每一事件进行两次埋点。进而,实现了基于浏览器或者应用程序进行自动化埋点操作,降低了人力成本。
60.在步骤204中,可选地,可在用户通过终端设备访问该页面时,展示该页面。或者,在特定的系统事件的触发下展示该页面。
61.在步骤205中,第一页面元素,可以是该至少一个页面元素中的任一页面元素,本实施例不做限制。第一页面元素上的访问操作,可触发第一页面元素绑定的某一事件。基于前述埋点步骤的记载,该触发的事件对应的事件处理器中,包含两个信息监测点,即:与第一埋点部署信息对应的信息监测点,以及与第二埋点部署信息对应的信息监测点。
62.第一埋点部署信息对应的信息监测点,可在第一页面元素上发生访问操作时,追
踪该访问操作触发的事件,并将追踪到的与该事件关联的数据,作为操作行为监测数据。可选地,该操作行为监测数据可包括:动作属性数据、用户属性数据、操作对象属性数据以及操作校验数据中的至少一种。
63.其中,动作属性数据,可包括触发该事件的访问操作的操作频次以及操作类型等。用户属性数据,可包括发起访问操作的用户的标识(例如用户账号等)。操作对象数据,可包括被访问的页面元素的相关信息,例如页面元素的标识、页面元素的类型、页面元素对应的业务功能等。操作校验数据,可包括配置信息校验数据、接口校验数据、js表单校验数据等。不再赘述。
64.应当理解,可通过个性化配置第一埋点部署信息,来指示信息监测点在追踪事件的过程中获取哪些操作行为监测数据。上述列举的数据仅用于示例性说明,本实施例包含但不限于此。
65.在步骤206中,可根据访问操作触发的事件,向服务器发送对应的处理请求。在一些场景下,第一页面元素绑定有多个事件。访问操作触发的事件的类型不同时,向服务器发送的处理请求也不同。
66.例如,页面上一按钮绑定了单击事件和双击事件。其中,单击事件用于实现m功能,双击事件用于实现n功能。若按钮上的访问操作为单击操作,单击操作触发了单击事件,则可向服务器发送与m功能对应的处理请求;若访问操作为双击操作,该双击操作可触发双击事件,则可向服务器发送与n功能对应的处理请求。
67.在步骤207中,向服务器发送处理请求后,第二埋点部署信息对应的信息监测点被激活,可根据第二埋点部署信息,对处理请求进行追踪。追踪处理请求的过程中,信息监测点可捕获服务器对处理请求的响应结果,得到操作结果监测数据。
68.可选地,该操作结果监测数据包括:接口状态数据、响应内容数据、以及响应失败类型数据中的至少一种。
69.其中,接口,包括事件处理器与终端设备上的通信组件之间的接口,以及终端设备与服务器之间进行通信采用的接口等。接口状态数据,是对接口的工作状态进行监控得到的数据,可包括接口异常数据、接口正常数据等。基于接口状态数据,可对访问操作的失败原因进行分析。例如,在一些场景下,终端设备与服务器之间的通信接口出现异常,服务器无法接收到处理请求,进而导致无法成功响应页面元素上的访问操作。
70.其中,响应内容,指的是服务器根据处理请求返回的实际内容。对响应内容进行分析,可识别是否因服务器侧的原因导致无法成功响应页面元素上的访问操作。例如,在一些场景下,接口未出现异常,服务器成功接收处理请求,但服务器侧出现异常导致处理失败,尽管服务器成功返回了响应内容,但响应内容指示未成功处理该处理请求。在这种场景下,终端设备无法成功响应页面元素上的访问操作。通过分析监测到的响应内容,可准确地分析访问操作响应失败的原因是否来自服务器一侧。
71.其中,响应失败类型可包括接口异常失败类型、服务器异常失败类型或者其它终端设备侧或服务器侧的原因导致失败的类型,本实施例不做限制。
72.基于上述两个信息监测点,可较为完整地监测第一页面元素上发生访问操作后的一系列过程。获取到操作行为监测数据和操作结果监测数据后,可执行步骤208,对第一页面元素上的操作进行分析。
73.可选地,可统计特定周期内页面元素上的访问操作产生的数据,以按照统计周期进行分析。该特定周期可以是一天、三天或者一周。或者,该特定周期可灵活地根据页面上发布的信息内容进行调整,本实施例不做限制。
74.可选地,可在第一埋点部署信息中配置数据发送方式以及数据接收端地址,以指示信息监测点将获取到的操作行为监测数据通过指定方式发送至目标数据接收端。以及,可在第二埋点部署信息中配置数据发送方式以及数据接收端地址,以指示信息监测点将获取到的操作结果监测数据通过指定方式发送至目标数据接收端。
75.例如,可通过配置第一埋点部署信息,指示信息监测点将操作行为监测数据通过a1接口发送至地址为b1的存储空间。与此同时,可通过配置第二埋点部署信息,指示监测点将操作行为监测数据通过a2接口发送至地址为b2的存储空间中。其中,地址b1和地址b2可以为同一地址或者不同地址,本实施例不做限制。
76.可选地,为每一事件进行埋点时,可为该事件设置唯一识别标识(例如logid)。每一事件被访问操作触发后产生的操作行为监测数据和操作结果监测数据,携带有该事件的唯一识别标识。基于事件的唯一识别标识,可将事件对应的操作行为监测数据和操作结果监测数据进行关联。
77.基于上述,分析第一页面元素上的访问操作时,可确定第一页面元素绑定的事件,再根据该事件的唯一识别标识,从目标数接收端获取与该事件对应的操作行为监测数据和操作结果监测数据。接下来,可根据获取到的操作行为监测数据和操作结果监测数据,对第一页面元素上的访问操作进行分析。
78.可选的,对第一页面元素上的访问操作进行分析,可包括:分析第一页面元素上的访问操作数、访问用户数、处理请求数、访问操作的响应成功率、访问操作的响应失败率、访问操作的失败原因和/或失败原因的分布特征。
79.其中,访问操作数,指的是第一页面上的访问操作的频次,可根据操作行为监控数据中的动作属性数据统计得到。每检测到一个访问操作,可记录操作频次加一。若页面元素上的访问操作包含多种不同的类型,则可分别统计每种类型的访问操作的频次,不再赘述。
80.其中,访问用户数,指的是在第一页面元素上发起访问操作的用户的数量,可根据操作行为监测数据中的用户属性数监测得到。例如,可根据发起访问操作的用户账号的数量,统计访问用户数,不再赘述。
81.其中,处理请求数,可根据获取到操作结果监测数据的次数统计。操作结果监测数据通过追踪处理请求获取,因此,可认为发送处理请求的频次与获取到操作结果监测数据的频次相同或相近。
82.其中,响应成功率,可结合响应成功的频次和访问操作数计算,响应失败率可结合响应失败的频次和访问操作数计算。其中,响应成的频次和响应失败的频次,可根据操作结果监测数据中的接口状态数据以及响应内容数据确定,不再赘述。
83.其中,访问操作的失败原因,可根据操作行为监测数据中的操作校验数据以及操作结果监测数据中的响应失败类型数据获取。
84.其中,失败原因的分布特征,可通过统计每种类型的失败原因出现的频次得到。例如,可统计因前端操作校验数据未通过导致操作失败的次数,统计因服务器侧异常导致操作失败的次数,不再赘述。
85.值得说明的是,若第一页面元素绑定有多个事件,可对分别对触发每个事件的访问操作进行单独分析,不再赘述。
86.在本实施例中,基于页面的抽象语法树,实现了自动化的页面埋点操作,基于两次埋点,可自动化、流程化地监测页面元素上的访问操作产生的多种数据,有利于更加准确地分析页面元素上的访问操作。
87.需要说明的是,在上述各实步骤的基础上,如图2所示,该方法还包括:
88.步骤209、响应该第一页面元素上的查看操作,获取对该第一页面元素上的访问操作进行分析的结果。
89.步骤210、在该页面上可视化展示对该第一页面元素上的访问操作进行分析的结果。
90.其中,发起查看操作的用户,可是页面的开发用户或者页面的优化用户。当执行主体为终端设备时,终端设备可根据访问页面的用户账号,判断用户的查看权限。若终端设备根据用户账号判定访问页面的用户具有查看分析结果的权限,则可根据用户的查看操作,向用户展示页面元素上的访问操作的分析结果。
91.可选地,该查看操作可实现为页面元素上的框选操作,或者页面元素上的指针悬停操作,或者对页面元素绑定的勾选按钮的选中操作等等,本实施例不做限制。
92.在一些场景下,为提升显示效果,该查看操作可实现为鼠标指针在页面元素上的悬停操作。例如,针对浏览器而言,可基于hover选择器选择鼠标指针悬停的页面元素。当鼠标指针悬停在某一页面元素上时,可认为用户想要查看该页面元素对应的分析结果。接下来,可根据页面元素的标识,获取该对页面元素上的访问操作进行分析的结果,并进行展示。
93.可选地,页面元素上的访问操作的分析结果,可展示在页面上的悬浮窗口或者弹窗内,以更加直观地向用户展示。例如,可在检测到第一页面元素上的悬停操作后,在页面上靠近第一页面元素的位置展示一悬浮窗口,并在该悬浮窗口内展示第一页面元素上的访问操作的分析结果。
94.可选地,分析结果可基于图表的方式进行展示。其中,图表可包括但不限于:柱形图(直方图)、折线图、饼图、条形图、雷达图、词云、漏斗图、数据地图、瀑布图等。例如,可基于柱形图,展示第一页面元素对应的访问成功率、失败率以及各种错误类型的占比情况,不再赘述。
95.一种典型的展示效果可如图3所示。在图3中,页面上展示有页面元素1、页面元素2以及页面元素3。鼠标指针放在页面元素2上时,页面上可弹出一悬浮窗口,并在悬浮窗口内通过柱形图展示页面元素2的上的访问操作的分析结果。
96.可选地,步骤209以及步骤210可在图表渲染工具的辅助下,由浏览器插件或者应用程序插件实现。该浏览器插件或者应用程序插件,可在确定访问页面的用户具有查看分析结果的权限时,获取被查看的页面元素上的访问操作的分析结果,调用图表渲染工具绘制分析结果,并在页面元素所在的页面展示分析结果。可选地,该渲染工具可以为bizcharts工具(一种开源软件,提供多种类型图表渲染的工具)或者其他可选的图表渲染工具,本实施例不做限制。
97.本实施例中,根据用户在页面元素上的查看操作,在页面上以可视化的方式展示
页面元素上的访问操作的分析结果,更加直观,便于用户查看。
98.图4是本技术另一示例性实施例提供的页面操作分析方法的流程示意图,如图4所示,该方法包括:
99.步骤401、展示页面,该页面包括第一页面元素。
100.步骤402、响应该第一页面元素上的访问操作,根据第一埋点部署信息,对该访问操作触发的事件进行追踪,以获取操作行为监测数据。
101.步骤403、根据该访问操作触发的事件,向服务器发送处理请求。
102.步骤404、根据第二埋点部署信息,对该处理请求进行追踪,以获取该服务器对该处理请求的响应结果,作为操作结果监测数据。
103.步骤405、根据该操作行为监测数据和该操作结果监测数据,对该第一页面元素上的访问操作进行分析。
104.上述步骤的可选实施方式可参考前述实施例的记载,此处不赘述。
105.在本实施例中,检测到页面元素上的访问操作后,可基于第一埋点部署信息和第二埋点部署信息,在多个环节自动化、流程化地监测该访问操作产生的多种数据,有利于更加准确地分析页面元素上的访问操作。
106.除前述各实施例提供的页面操作分析方法之外,本技术实施例还提供一种埋点方法,该方法包括:获取页面对应的抽象语法树。根据该抽象语法树,确定该页面关联的至少一个事件。在该至少一个事件各自对应的事件处理器中,添加第一埋点部署信息以及第二埋点部署信息;其中,该第一埋点部署信息用于在所属事件被触发时,对所属事件进行追踪,该第二埋点部署信息用于追踪所属事件对应的处理请求。
107.该方法可由基于浏览器插件或者应用程序插件实现。页面在浏览器或者应用程序中打开时,浏览器或者应用程序中的插件可自动分析页面对应的ast,并根据ast,自动对代码中可由操作触发的每一事件进行两次埋点。
108.其中,第一埋点部署信息和第二埋点部署信息可根据实际需求进行配置,本实施例不做限制。
109.在本实施例中,基于页面的抽象语法树,实现了自动化的页面埋点操作,降低了人力成本;基于两次埋点,可自动化、流程化地监测页面元素上的访问操作产生的多种数据,有利于更加准确地分析页面元素上的访问操作。
110.需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤201至步骤204的执行主体可以为设备a;又比如,步骤201和202的执行主体可以为设备a,步骤203的执行主体可以为设备b;等等。
111.另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如201、202等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
112.本技术的上述以及下述实施例,可应用于多种不同应用场景下的页面操作分析。以下将进行示例性说明。
113.在一些场景下,可基于本技术实施例提供的页面操作分析方法,对浏览器提供的网页页面进行操作分析。其中,网页可以实现为电商网页、云计算平台提供的网页、游戏网页、新闻门户网页、视频网页、音乐网页、教育网页等,本实施例不做限制。通过对网页进行操作分析,可分析网页页面的设计合理性以及功能完善度;或者,可挖掘用户感兴趣的内容,并根据用户感兴趣的内容调整网页展示的信息。以电商网页为例,电商网页上的页面元素可包括多种商品类目对应的多个类目标签。统计多个类目标签上的访问次数,并计算每种类目标签的访问次数的占比,可分析用户对多个商品类目的感兴程度。
114.以教育网页为例,教育网页上的页面元素可实现为多种课程的链接。该链接可能指向本网站提供的课程资源,也可能指向其他网站提供的课程资源。在每个链接被点击后,追踪点击结果并获取无法成功响应点击操作的错误原因,可对本网站或者其他网站的故障进行定位和分析,以进一步优化网页功能。
115.在另一些场景下,可基于本技术实施例提供的页面操作分析方法,对应用程序提供的应用程序页面进行操作分析。其中,该应用程序可实现为运行于电脑端上的应用程序,或者实现为智能终端上运行的应用程序。其中,智能终端可包括智能手机、智能穿戴设备、智能家居设备等等,本实施例不做限制。通过对应用程序页面进行操作分析,可分析应用程序页面的设计合理性以及功能完善度;或者,可挖掘用户感兴趣的内容,并根据用户感兴趣的内容调整应用程序页面展示的信息。
116.上述应用程序可以是多个不同领域提供的可与用户进行交互,并向用户提供设定服务的客户端软件。该不同领域,包括但不限与:电商领域、云计算领域、游戏领域、新闻领域、视频领域、音乐领域、教育领域、直播领域等。以该应用程序实现为手机端的新闻客户端为例,新闻客户端上的页面元素可包括多个新闻领域标签,在用户使用新闻客户端的过程中,统计多个新闻领域标签上的点击次数以及成功返回点击结果的次数,可计算新闻客户端成功展示不同领域的新闻内容的成功率,进而分析新闻客户端的访问稳定性。
117.以下将以网站提供的网页为例,对本技术提供的页面分析方法进行进一步示例性说明。网站开发人员可基于babel工具开发一浏览器插件,该浏览器插件可基于网页的ast,对网页上每个可由访问操作触发的事件进行两次埋点,即请求前埋点和请求后埋点,并为每个事件设置一个logid。
118.用户浏览网页的过程中发起对页面元素的访问操作时,请求前埋点可进行操作统计,或者捕获异常(如用户信息不完备、上一个接口依赖问题导致无法操作等)。发送处理请求后,请求后埋点可获取接口返回信息。基于请求前埋点和请求后埋点获取的数据以及logid,可统计页面元素上的访问操作的响应成功率、失败率以及各种错误类型的占比。网站开发人员还可基于浏览器提供的接口开发一动态显示插件。网站开发或者维护相关的用户访问页面时,可登录访问账号,并可将鼠标指针移动到想要查看的目标页面元素上。动态显示插件基于访问账号确定访问者具有查看分析结果的权限时,可获取对该目标页面元素上的访问操作进行分析的结果,通过图标渲染工具渲染该结果,并在网页页面上通过浮窗展示渲染后的结果。
119.图5是本技术一示例性实施例提供的页面操作分析装置的结构示意图,如图5所示,该装置包括:展示模块501、第一监测模块502、请求模块503、第二监测模块504以及分析模块505。
120.其中,展示模块501,用于:展示页面,所述页面包括第一页面元素。
121.第一监测模块502,用于:响应所述第一页面元素上的访问操作,获取所述访问操作对应的操作行为监测数据。
122.请求模块503,用于:根据所述访问操作触发的事件,向服务器发送处理请求。
123.第二监测模块504,用于:监测所述服务器对所述处理请求的响应结果,得到操作结果监测数据。
124.分析模块505,用于:根据所述操作行为监测数据和所述操作结果监测数据,对所述第一页面元素上的访问操作进行分析。
125.进一步可选地,展示模块501,还用于:响应所述第一页面元素上的查看操作,获取对所述第一页面元素上的访问操作进行分析的结果;在所述页面上可视化展示对所述第一页面元素上的访问操作进行分析的结果。
126.进一步可选地,第一监测模块502在获取所述访问操作对应的操作行为监测数据时,具体用于:根据第一埋点部署信息,对所述访问操作触发的事件进行追踪;获取追踪到的与所述事件关联的数据,作为所述操作行为监测数据。
127.进一步可选地,第二监测模块504在监测所述服务器对所述处理请求的响应结果,得到操作结果监测数据时,具体用于:根据第二埋点部署信息,对所述处理请求进行追踪;获取追踪到的所述服务器对所述处理请求的响应结果,作为所述操作结果监测数据。
128.进一步可选地,该装置还包括埋点模块506。
129.其中,埋点模块506用于:获取所述页面对应的抽象语法树;根据所述抽象语法树,确定所述页面关联的至少一个事件;其中,每一事件可由其绑定的页面元素上的访问操作触发;在所述至少一个事件各自对应的事件处理器中,添加所述第一埋点部署信息以及所述第二埋点部署信息。
130.进一步可选地,埋点模块506在所述至少一个事件对应的事件处理器中,添加所述第一埋点部署信息以及所述第二埋点部署信息时,具体用于:针对所述至少一个事件中的第一事件,在所述第一事件对应的事件处理器中确定目标代码;所述目标代码用于在所述第一事件被触发时,向所述服务器发送对应的处理请求;在所述目标代码之前添加所述第一埋点部署信息对应的代码,以及在所述目标代码之后添加所述第二埋点部署信息对应的代码。
131.进一步可选地,所述操作行为监测数据包括:动作属性数据、用户属性数据、操作对象属性数据以及操作校验数据中的至少一种;所述操作结果监测数据包括:接口状态数据、响应内容数据以及响应失败类型数据中的至少一种。
132.进一步可选地,分析模块505在对所述第一页面元素上的访问操作进行分析时,具体用于:分析所述第一页面元素上的访问操作数、访问用户数、处理请求数、访问操作的响应成功率、访问操作的响应失败率、访问操作的失败原因和/或失败原因的分布特征。
133.本实施例中,检测到针对页面元素的访问操作后,获取该访问操作对应的操作行为监测数据,并在向服务器发送处理请求之后,监测服务器对该处理请求的响应结果,得到操作结果监测数据;基于操作行为监测数据以及操作结果监测数据,可更加全面地获取到页面元素上的访问操作产生的多种数据,对页面元素上的访问操作实现了功能级别的监测,有利于更加准确地分析页面元素上的访问操作。
134.图5所示的页面操作分析装置中的各模块,还可按照如下的逻辑执行页面操作分析方法:
135.展示模块501,用于:展示页面,所述页面包括第一页面元素。第一监测模块502,用于:响应所述第一页面元素上的访问操作,根据第一埋点部署信息,对所述访问操作触发的事件进行追踪,以获取操作行为监测数据。请求模块503,用于:根据所述访问操作触发的事件,向服务器发送处理请求。第二监测模块504,用于:根据第二埋点部署信息,对所述处理请求进行追踪,以获取所述服务器对所述处理请求的响应结果,作为操作结果监测数据。分析模块505,用于:根据所述操作行为监测数据和所述操作结果监测数据,对所述第一页面元素上的访问操作进行分析。
136.在本实施例中,检测到页面元素上的访问操作后,可基于第一埋点部署信息和第二埋点部署信息,在多个环节自动化、流程化地监测该访问操作产生的多种数据,有利于更加准确地分析页面元素上的访问操作。
137.图6为本技术一示例性实施例提供的埋点装置的结构示意图,如图6所示该装置包括:页面分析模块601以及埋点模块602。
138.其中,页面分析模块601,用于:获取页面对应的抽象语法树;根据所述抽象语法树,确定所述页面关联的至少一个事件。
139.埋点模块602,用于:在所述至少一个事件各自对应的事件处理器中,添加第一埋点部署信息以及第二埋点部署信息;其中,所述第一埋点部署信息用于在所属事件被触发时,对所属事件进行追踪,所述第二埋点部署信息用于追踪所属事件对应的处理请求。
140.本实施例提供的埋点装置可被封装为自动化埋点工具,并提供给第三方用户使用,不再赘述。
141.本实施例中,基于页面的抽象语法树,实现了自动化的页面埋点操作,降低了人力成本;基于两次埋点,可自动化、流程化地监测页面元素上的访问操作产生的多种数据,有利于更加准确地分析页面元素上的访问操作。
142.图7是本技术一示例性实施例提供的电子设备的结构示意图,如图7所示,该电子设备包括:存储器701以及处理器702。
143.存储器701,用于存储计算机程序,并可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
144.其中,存储器702可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
145.电子设备被应用于页面分析操作时,还可包括:通信组件703以及显示组件704。
146.其中,处理器702,与存储器701耦合,用于执行存储器701中的计算机程序,以用于:通过显示组件704展示页面,所述页面包括第一页面元素;响应所述第一页面元素上的访问操作,获取所述访问操作对应的操作行为监测数据;根据所述访问操作触发的事件,通过通信组件703向服务器发送处理请求;监测所述服务器对所述处理请求的响应结果,得到操作结果监测数据;根据所述操作行为监测数据和所述操作结果监测数据,对所述第一页
面元素上的访问操作进行分析。
147.进一步可选地,处理器702还用于:响应所述第一页面元素上的查看操作,获取对所述第一页面元素上的访问操作进行分析的结果;通过显示组件704在所述页面上可视化展示对所述第一页面元素上的访问操作进行分析的结果。
148.进一步可选地,处理器702在获取所述访问操作对应的操作行为监测数据时,具体用于:根据第一埋点部署信息,对所述访问操作触发的事件进行追踪;获取追踪到的与所述事件关联的数据,作为所述操作行为监测数据。
149.进一步可选地,处理器702在监测所述服务器对所述处理请求的响应结果,得到操作结果监测数据时,具体用于:根据第二埋点部署信息,对所述处理请求进行追踪;获取追踪到的所述服务器对所述处理请求的响应结果,作为所述操作结果监测数据。
150.进一步可选地,处理器702还用于:获取所述页面对应的抽象语法树;根据所述抽象语法树,确定所述页面关联的至少一个事件;其中,每一事件可由其绑定的页面元素上的访问操作触发;在所述至少一个事件各自对应的事件处理器中,添加所述第一埋点部署信息以及所述第二埋点部署信息。
151.进一步可选地,处理器702在所述至少一个事件对应的事件处理器中,添加所述第一埋点部署信息以及所述第二埋点部署信息时,具体用于:针对所述至少一个事件中的第一事件,在所述第一事件对应的事件处理器中确定目标代码;所述目标代码用于在所述第一事件被触发时,向所述服务器发送对应的处理请求;在所述目标代码之前添加所述第一埋点部署信息对应的代码,以及在所述目标代码之后添加所述第二埋点部署信息对应的代码。
152.进一步可选地,所述操作行为监测数据包括:动作属性数据、用户属性数据、操作对象属性数据以及操作校验数据中的至少一种;所述操作结果监测数据包括:接口状态数据、响应内容数据以及响应失败类型数据中的至少一种。
153.进一步可选地,处理器702在对所述第一页面元素上的访问操作进行分析时,具体用于:分析所述第一页面元素上的访问操作数、访问用户数、处理请求数、访问操作的响应成功率、访问操作的响应失败率、访问操作的失败原因和/或失败原因的分布特征。
154.进一步,如图7所示,该电子设备还包括:电源组件705等其它组件。图7中仅示意性给出部分组件,并不意味着电子设备只包括图7所示组件。
155.其中,通信组件703被配置为便于通信组件所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如wifi,2g、3g、4g或5g,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件可基于近场通信(nfc)技术、射频识别(rfid)技术、红外数据协会(irda)技术、超宽带(uwb)技术、蓝牙(bt)技术和其他技术来实现。
156.其中,显示组件704包括屏幕,其屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
157.其中,电源组件705,为电源组件所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
158.本实施例中,检测到针对页面元素的访问操作后,获取该访问操作对应的操作行为监测数据,并在向服务器发送处理请求之后,监测服务器对该处理请求的响应结果,得到操作结果监测数据;基于操作行为监测数据以及操作结果监测数据,可更加全面地获取到页面元素上的访问操作产生的多种数据,对页面元素上的访问操作实现了功能级别的监测,有利于更加准确地分析页面元素上的访问操作。
159.除前述实施例记载的执行逻辑外,图7所示的电子设备还可按照如下的逻辑执行页面分析方法:处理器702通过显示组件704展示页面,所述页面包括第一页面元素;响应所述第一页面元素上的访问操作,根据第一埋点部署信息,对所述访问操作触发的事件进行追踪,以获取操作行为监测数据;根据所述访问操作触发的事件,通过通信组件703向服务器发送处理请求;根据第二埋点部署信息,对所述处理请求进行追踪,以获取所述服务器对所述处理请求的响应结果,作为操作结果监测数据;根据所述操作行为监测数据和所述操作结果监测数据,对所述第一页面元素上的访问操作进行分析。
160.除前述实施例记载的执行逻辑外,包含存储器和处理器的电子设备还可按照如下的逻辑执行页面埋点方法:处理器获取页面对应的抽象语法树;根据所述抽象语法树,确定所述页面关联的至少一个事件;在所述至少一个事件各自对应的事件处理器中,添加第一埋点部署信息以及第二埋点部署信息;其中,所述第一埋点部署信息用于在所属事件被触发时,对所属事件进行追踪,所述第二埋点部署信息用于追踪所属事件对应的处理请求。
161.相应地,本技术实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现上述方法实施例中可由电子设备执行的各步骤。
162.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
163.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
164.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
165.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或
其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
166.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
167.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
168.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
169.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
170.以上所述仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1