一种页面事件采集方法和装置转让专利

申请号 : CN201710735695.1

文献号 : CN107633019A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 杨帆

申请人 : 阿里巴巴集团控股有限公司

摘要 :

本说明书实施例提供一种页面事件采集方法和装置,其中,页面事件采集方法可以在监听到页面中的页面点击元素的点击事件时,获取所述页面点击元素对应的树状路径信息,该树状路径信息用于表示所述页面点击元素在页面对应的树状描述模型中的节点位置;上报本次点击事件,并携带该树状路径信息。

权利要求 :

1.一种页面事件采集方法,所述方法包括:监听到页面中的页面点击元素的点击事件;

获取所述页面点击元素对应的树状路径信息,所述树状路径信息用于表示所述页面点击元素在所述页面对应的树状描述模型中的节点位置;

上报本次点击事件,并携带所述树状路径信息。

2.根据权利要求1所述的方法,

所述页面点击元素,包括:所述页面中的按钮或者链接。

3.根据权利要求1所述的方法,所述获取所述页面点击元素对应的树状路径信息,包括:通过所述树状描述模型对应的访问接口,分别获取所述页面点击元素在所述树状描述模型中所属的各层级节点;

将所述各层级节点组合,得到所述树状路径信息。

4.根据权利要求1所述的方法,所述方法还包括:监听到所述页面中所述页面点击元素之外的页面元素的点击事件;

若所述页面元素包括点击上报属性,则获取所述页面元素对应的树状路径信息,并上报包括所述树状路径信息的点击事件。

5.根据权利要求1所述的方法,所述页面是native页面或者h5页面。

6.一种页面事件采集方法,所述方法包括:获取采集的页面中的点击事件,所述点击事件包括点击的页面点击元素的树状路径信息,所述树状路径信息用于表示所述页面点击元素在所述页面对应的树状描述模型中的节点位置;

解析所述树状路径信息,得到所述页面点击元素。

7.根据权利要求6所述的方法,所述解析所述树状路径信息,得到所述页面点击元素,包括:分解所述树状路径信息,得到所述页面点击元素在所述树状描述模型中所属的各层级节点;

根据所述各层级节点逐层获取,确定所述页面点击元素。

8.根据权利要求6所述的方法,所述方法还包括:在所述页面上标示获取到的所述页面点击元素,并显示所述页面点击元素对应的点击事件的事件数据。

9.一种页面事件采集装置,所述装置包括:事件监听模块,用于监听到页面中的页面点击元素的点击事件;

信息获取模块,用于获取所述页面点击元素对应的树状路径信息,所述树状路径信息用于表示所述页面点击元素在所述页面对应的树状描述模型中的节点位置;

事件上报模块,用于上报本次点击事件,并携带所述树状路径信息。

10.根据权利要求9所述的装置,

所述事件监听模块,还用于监听到所述页面中所述页面点击元素之外的页面元素的点击事件;

所述信息获取模块,还用于在所述页面元素包括点击上报属性时,则获取所述页面元素对应的树状路径信息。

11.一种页面事件采集装置,所述装置包括:事件接收模块,用于获取采集的页面中的点击事件,所述点击事件包括点击的页面点击元素的树状路径信息,所述树状路径信息用于表示所述页面点击元素在所述页面对应的树状描述模型中的节点位置;

事件解析模块,用于解析所述树状路径信息,得到所述页面点击元素。

12.根据权利要求11所述的装置,所述装置还包括:数据显示模块,用于在所述页面上标示获取到的所述页面点击元素,并显示所述页面点击元素对应的点击事件的事件数据。

13.一种数据采集设备,所述设备包括存储器、处理器,以及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行指令时实现以下步骤:监听到页面中的页面点击元素的点击事件;

获取所述页面点击元素对应的树状路径信息,所述树状路径信息用于表示所述页面点击元素在所述页面对应的树状描述模型中的节点位置;

上报本次点击事件,并携带所述树状路径信息。

14.一种数据处理设备,所述设备包括存储器、处理器,以及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行指令时实现以下步骤:获取采集的页面中的点击事件,所述点击事件包括点击的页面点击元素的树状路径信息,所述树状路径信息用于表示所述页面点击元素在所述页面对应的树状描述模型中的节点位置;

解析所述树状路径信息,得到所述页面点击元素。

说明书 :

一种页面事件采集方法和装置

技术领域

[0001] 本公开涉及计算机技术领域,特别涉及一种页面事件采集方法和装置。

背景技术

[0002] 很多网站都有采集用户浏览行为的需求,例如,可以收集用户点击页面中的某个按钮或者链接的次数,并据此分析用户行为,以作为进一步营销或网站改进的依据。为了收集上述的用户浏览行为,可以进行埋点,比如,可以让页面开发的程序员将埋点代码添加到相应的页面上,用于追踪和记录用户的行为,并将实时收集到的数据传送到后台数据库供分析。
[0003] 现有技术中,在进行埋点时,可以由产品人员预先定义页面中各个位置的标识,页面开发人员将该标识添加进埋点代码中。事件采集上报时携带上述的页面位置标识,以使得区分该点击事件对应的是哪个页面位置。

发明内容

[0004] 有鉴于此,本说明书一个或多个实施例提供一种页面事件采集方法和装置,以快速简洁的实现页面事件采集的部署,并提高事件采集的准确度。
[0005] 具体地,本说明书一个或多个实施例是通过如下技术方案实现的:
[0006] 第一方面,提供一种页面事件采集方法,所述方法包括:
[0007] 监听到页面中的页面点击元素的点击事件;
[0008] 获取所述页面点击元素对应的树状路径信息,所述树状路径信息用于表示所述页面点击元素在所述页面对应的树状描述模型中的节点位置;
[0009] 上报本次点击事件,并携带所述树状路径信息。
[0010] 第二方面,提供一种页面事件采集方法,所述方法包括:
[0011] 获取采集的页面中的点击事件,所述点击事件包括点击的页面点击元素的树状路径信息,所述树状路径信息用于表示所述页面点击元素在所述页面对应的树状描述模型中的节点位置;
[0012] 解析所述树状路径信息,得到所述页面点击元素。
[0013] 第三方面,提供一种页面事件采集装置,所述装置包括:
[0014] 事件监听模块,用于监听到页面中的页面点击元素的点击事件;
[0015] 信息获取模块,用于获取所述页面点击元素对应的树状路径信息,所述树状路径信息用于表示所述页面点击元素在所述页面对应的树状描述模型中的节点位置;
[0016] 事件上报模块,用于上报本次点击事件,并携带所述树状路径信息。
[0017] 第四方面,提供一种页面事件采集装置,所述装置包括:
[0018] 事件接收模块,用于获取采集的页面中的点击事件,所述点击事件包括点击的页面点击元素的树状路径信息,所述树状路径信息用于表示所述页面点击元素在所述页面对应的树状描述模型中的节点位置;
[0019] 事件解析模块,用于解析所述树状路径信息,得到所述页面点击元素。
[0020] 第五方面,提供一种数据采集设备,所述设备包括存储器、处理器,以及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行指令时实现以下步骤:
[0021] 监听到页面中的页面点击元素的点击事件;
[0022] 获取所述页面点击元素对应的树状路径信息,所述树状路径信息用于表示所述页面点击元素在所述页面对应的树状描述模型中的节点位置;
[0023] 上报本次点击事件,并携带所述树状路径信息。
[0024] 第六方面,提供一种数据处理设备,所述设备包括存储器、处理器,以及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行指令时实现以下步骤:
[0025] 获取采集的页面中的点击事件,所述点击事件包括点击的页面点击元素的树状路径信息,所述树状路径信息用于表示所述页面点击元素在所述页面对应的树状描述模型中的节点位置;
[0026] 解析所述树状路径信息,得到所述页面点击元素。
[0027] 本说明书一个或多个实施例的页面事件采集方法和装置,通过由采集器在监听到点击事件时,获取页面点击元素对应的树状路径信息,将该路径信息上报,服务端就可以依据该路径信息获知页面点击元素在页面的位置。该方法使得开发人员可以不需要在页面代码中埋点各个页面元素的位置标识,而是由采集器自动获取路径信息上报即可,那么对于开发人员来讲,降低了埋点的工作量,可以快速简洁的实现页面事件采集的部署;并且还可以提高页面事件采集的准确度,可以清楚准确的区分不同的页面元素。

附图说明

[0028] 为了更清楚地说明本说明书一个或多个实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书一个或多个实施例中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0029] 图1为本说明书一个或多个实施例提供的一个页面的示意图;
[0030] 图2为本说明书一个或多个实施例提供的页面对应的dom树示意图;
[0031] 图3为本说明书一个或多个实施例提供的一个页面事件采集方法的流程;
[0032] 图4为本说明书一个或多个实施例提供的另一个页面事件采集方法的流程;
[0033] 图5为本说明书一个或多个实施例提供的一个对事件分析处理的流程;
[0034] 图6为本说明书一个或多个实施例提供的页面点击元素的查找过程示意;
[0035] 图7为本说明书一个或多个实施例提供的页面点击元素的查找过程示意;
[0036] 图8为本说明书一个或多个实施例提供的页面事件采集装置的结构图;
[0037] 图9为本说明书一个或多个实施例提供的页面事件采集装置的结构图;
[0038] 图10为本说明书一个或多个实施例提供的页面事件采集装置的结构图。

具体实施方式

[0039] 为了使本技术领域的人员更好地理解本说明书一个或多个实施例中的技术方案,下面将结合本说明书一个或多个实施例中的附图,对本说明书一个或多个实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是一部分实施例,而不是全部的实施例。基于本说明书一个或多个实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
[0040] 图1示例了一个页面,如图1所示,页面中可以包括“页面点击元素”和“页面非点击元素”。例如,页面点击元素可以是页面中的按钮、链接等可以让用户点击的元素,页面中其他类型的元素可以称为页面非点击元素,比如可以是显示在网页中的一幅背景图片或者一段文字。
[0041] 假设根据业务需求要采集用户浏览上述页面的行为,比如,可以采集用户点击该页面上的页面点击元素“链接”的次数,以了解用户对该链接内容的兴趣度。那么,可以该页面的页面代码中设置“采集器”,例如,该采集器可以是javascript脚本。当浏览器解析页面代码显示页面时,还可以执行上述的js脚本,js脚本可以执行本例子的页面事件采集方法,监听是否发生对链接的点击事件,并上报服务端进行统计分析。用户点击一次“链接”,可以称为一次点击事件。
[0042] 本公开例子中的页面事件采集,可以基于页面的DOM Tree(dom树)。以h5页面为例,h5页面编写时使用html语言描述,该语言以一种树状结构描述页面元素信息。浏览器渲染页面时,可以将html转换为dom树,用于描述页面元素信息,并提供操作API。例如,如下是图1的页面对应的一段html页面代码,其中,如下代码中只是示意框架,一部分内容以省略号或星号带过,不再显示:
[0043]
[0044]
[0045] 上述的页面代码可以转换为dom树,该dom树可以称为页面对应的树状描述模型。例如图2示意了该dom树,同样也只示例了该树状描述模型的一部分。图2中所示的页面对应的树状描述模型,与图1所示的页面,以及上面的页面代码,三者之间可以形成对应关系。
[0046] 例如,以图1页面中的“按钮”为例,该“按钮”是一个页面点击元素,该元素可以对应页面代码中的,同时该元素也可以对应着图2的dom树模型中的“button”节点。
[0047] 又例如,以图1页面中的“链接”为例,该“链接”也是一个页面点击元素,该元素可以对应页面代码中的….,同时该元素也可以对应着图2的dom树模型中的与“button”节点并列的“a”节点。
[0048] 由上述描述可以看到,页面中的页面元素可以对应该页面的dom树模型中的某个节点,并且该节点也可以在页面代码中找到对应的代码位置。基于上述的对应关系,本例子可以依据dom树模型来描述页面元素在页面的位置。比如,一个页面对应的dom树模型可以代表该页面,而dom树模型中的某个节点在该模型中的位置表述,可以代表节点对应的页面元素在页面中的位置标识。
[0049] 图3示例了本公开例子的页面事件采集方法的流程,该方法可以是浏览器执行js脚本执行,可以将该js脚本称为采集器,如图3所示,该方法可以包括:
[0050] 在步骤300中,监听到页面中的页面点击元素的点击事件。
[0051] 本例子中,采集器在执行时可以监听页面点击元素是否被用户点击,例如,可以监听页面中的“链接”是否被点击。当用户点击时,采集器可以监听到发生了点击事件。
[0052] 例如,本例子的所述页面,可以是native页面或者h5页面等能够获取到页面的树状模型的页面,使得页面中的元素位置可以通过树状路径信息表示。
[0053] 在步骤302中,获取所述页面点击元素对应的树状路径信息,所述树状路径信息用于表示页面点击元素在页面对应的树状描述模型中的节点位置。
[0054] 本步骤中,页面的dom树模型通常都可以提供访问接口,可以通过该访问接口,分别获取到步骤300中的页面点击元素在树状描述模型中所属的各层级节点。比如,以页面点击元素“按钮”为例,该元素对应图2中的节点“button”,可以通过访问接口获取到该节点“button”的父节点
,还可以获取该父节点
的再上一层父节点,等。可以将获取到的各层级节点组合,得到页面点击元素对应的树状路径信息,该树状路径信息用于表示页面点击元素在页面对应的树状描述模型中的节点位置。
[0055] 例如,仍以上述的页面点击元素“按钮”为例,该“按钮”的树状路径信息可以是:div-div2-button。结合图2来看,其中,div可以是下的子节点
,div2可以是第一个div的子节点,并且图2中示例的div有两个并列的子节点div,而button是依从左到右的顺序的第二个div下的子节点。因此,该树状路径信息的构成可以是,将各个层级的节点以“-”分隔,并且每层级节点的标识包括节点名称(例如,div)和对应该节点的查找序号(例如,div2中的“2”,表示可能有多个并列层级的节点,本节点div是第二个)。
[0056] 又例如,以上面的页面代码中的“”为例,结合图2,对应的树状路径信息可以是“div-a”,表示下直接连接的
下的子节点。再例如,页面代码中的“….”对应的树状路径信息可以是“div-div2-a”,表示先找到下的子节点
,再找到该div下的子节点中依从左到右的顺序的第二个div子节点,最后在该第二个div子节点下的子节点中找到子节点
[0076] 此外,在统计分析时,还可以结合实际业务产品页面,在页面上标示获取到的页面点击元素,比如,在解析得到树状路径信息对应的是图1中页面上的元素“链接”后,可以将该“链接”以突出颜色显示,以使得分析人员清楚直观的看到点击事件发生在页面的位置。并且,还可以显示页面点击元素对应的点击事件的事件数据,比如可以在“链接”的附近或者元素上面等页面位置,显示该元素被点击的次数。
[0077] 本例子的页面事件采集方法,通过在事件上报时以元素的树状路径信息表示元素在页面的位置,由于该树状路径信息本身具有对元素位置的语义特性,使得可以快速准确的找到路径信息对应的元素在页面的位置,位置的对应还原工作简单快速,并且还可以进行可视化显示,统计分析工作非常直观。
[0078] 为了实现本说明书一个或多个实施例的页面事件采集方法,图8提供了一种页面事件采集装置,该装置例如应用在采集事件的js脚本。可以包括:事件监听模块81、信息获取模块82和事件上报模块83。
[0079] 事件监听模块81,用于监听到页面中的页面点击元素的点击事件;
[0080] 信息获取模块82,用于获取所述页面点击元素对应的树状路径信息,所述树状路径信息用于表示所述页面点击元素在所述页面对应的树状描述模型中的节点位置;
[0081] 事件上报模块83,用于上报本次点击事件,并携带所述树状路径信息。
[0082] 在一个例子中,所述事件监听模块81,还用于监听到所述页面中所述页面点击元素之外的页面元素的点击事件;
[0083] 所述信息获取模块82,还用于在所述页面元素包括点击上报属性时,则获取所述页面元素对应的树状路径信息。
[0084] 为了实现本说明书一个或多个实施例的页面事件采集方法,图9还提供了一种页面事件采集装置,该装置例如应用在埋点系统的统计分析模块。该装置可以包括:事件接收模块91和事件解析模块92。
[0085] 事件接收模块91,用于获取采集的页面中的点击事件,所述点击事件包括点击的页面点击元素的树状路径信息,所述树状路径信息用于表示所述页面点击元素在所述页面对应的树状描述模型中的节点位置;
[0086] 事件解析模块92,用于解析所述树状路径信息,得到所述页面点击元素。
[0087] 在一个例子中,如图10所示,该装置还可以包括:数据显示模块93,用于在所述页面上标示获取到的所述页面点击元素,并显示所述页面点击元素对应的点击事件的事件数据。
[0088] 上述页面事件采集方法实施例中所示流程中的各个步骤,其执行顺序不限制于流程图中的顺序。此外,各个步骤的描述,可以实现为软件、硬件或者其结合的形式,例如,本领域技术人员可以将其实现为软件代码的形式,可以为能够实现所述步骤对应的逻辑功能的计算机可执行指令。当其以软件的方式实现时,所述的可执行指令可以存储在存储器中,并被设备中的处理器执行。
[0089] 例如,对应于上述方法,本说明书一个或多个实施例同时提供一种数据采集设备,该设备可以包括处理器、存储器、以及存储在存储器上并可在处理器上运行的计算机指令,所述处理器通过执行所述指令,用于实现如下步骤:监听到页面中的页面点击元素的点击事件;获取所述页面点击元素对应的树状路径信息,所述树状路径信息用于表示所述页面点击元素在所述页面对应的树状描述模型中的节点位置;上报本次点击事件,并携带所述树状路径信息。在一个例子的实现中,该数据采集设备可以是一台计算机,该计算机上运行浏览器展示页面,并且浏览器还采集用户对页面元素的点击事件进行上报。
[0090] 例如,对应于上述方法,本说明书一个或多个实施例同时提供一种数据处理设备,该设备可以包括处理器、存储器、以及存储在存储器上并可在处理器上运行的计算机指令,所述处理器通过执行所述指令,用于实现如下步骤:获取采集的页面中的点击事件,所述点击事件包括点击的页面点击元素的树状路径信息,所述树状路径信息用于表示所述页面点击元素在所述页面对应的树状描述模型中的节点位置;解析所述树状路径信息,得到所述页面点击元素。在一个例子的实现中,该数据处理设备可以是服务器,该服务器上可以运行埋点系统,埋点系统可以对接收到的采集事件进行分析处理。
[0091] 上述实施例阐明的装置或模块,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
[0092] 为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书一个或多个实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
[0093] 本领域内的技术人员应明白,本说明书一个或多个实施例可提供为方法、系统、或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0094] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0095] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0096] 还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0097] 本说明书一个或多个实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书一个或多个实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
[0098] 本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于数据采集设备或者数据处理设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0099] 上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
[0100] 以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本公开,凡在本公开的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本公开保护的范围之内。