数据采集方法、装置、存储介质和电子设备与流程

专利2022-05-09  107


本发明实施例涉及数据统计技术领域,尤其涉及一种数据采集方法、装置、存储介质和电子设备。



背景技术:

互联网的应用/网站等经常需要统计一些数据来对网站进行分析,其中,埋点分析是网站分析的一种常用的数据采集方法,例如,可以通过对采集的pv(pageview,页面浏览量)数据进行分析整理,挖掘用户的行为日志,然后得到有效的结论,进而进行产品优化/迭代。

现有技术中,对于埋点数据的采集通常通过监听网页的滚动事件实现。预先存储各个元素相对网页头的高度,当页面滚动的高度与元素相对网页头部的高度处于一个范围的时候,说明这个元素处于用户可见区域内,然后采集埋点数据并上报。

但是,对页面滚动事件进行监听的过程会涉及到大量的位置计算、dom(documentobjectmodel,文档对象模型)操作、元素重绘等,当滚动事件被触发的时候,如果上述这些计算在下一次触发的时候没有完成,就会造成浏览器掉帧,导致用户体验差;其次,通过滚动事件采集埋点数据也是有很大的局限性,例如,如果用户让页面元素隐藏,让另一个元素展示,这个时候是没有办法通过滚动事件采集埋点数据,导致需要做一些额外的处理,重新引入大量的计算。



技术实现要素:

有鉴于此,本发明实施例的目的在于提供一种数据采集方法、装置、存储介质和电子设备,可以减少元素的位置信息的计算量和埋点数据的上报次数,以提升应用程序的响应速度和用户体验。

第一方面,本发明实施例提供了一种数据采集方法,所述方法包括:

在页面中设置待监测元素;

获取目标区域和监听区域的交叉重叠度,所述目标区域用于表征所述待监测元素的位置信息,所述交叉重叠度用于表征所述目标区域在所述监听区域内的展示情况;

响应于所述交叉重叠度满足预定条件,获取需要上报的埋点数据并存储在内存区;以及

至少根据预定的定时器对所述内存区中埋点数据进行批量上报。

在一些实施例中,所述方法还包括:

接收注册指令;

其中,所述在页面中设置待监测元素,具体为:

根据所述注册指令为页面中的待监测元素注册监听事件,所述监听事件用于指示需要上报的埋点数据。

在一些实施例中,所述获取目标区域和监听区域的交叉重叠度,具体为:

通过交叉观察器获取目标区域和监听区域的交叉重叠度。

在一些实施例中,所述埋点数据包括事件名称、触发时间、终端标识、用户标识中一种或多种。

在一些实施例中,所述方法还包括:

响应于获取到第一配置参数,根据所述第一配置参数确定所述监听区域;以及

响应于未获取到第一配置参数,根据第一默认参数确定所述监听区域。

在一些实施例中,所述预定条件为所述交叉重叠度大于或等于预定阈值。

在一些实施例中,所述方法还包括:

响应于获取到第二配置参数,根据所述第二配置参数确定所述预定阈值;以及

响应于未获取到第二配置参数,根据第二默认参数确定所述预定阈值。

在一些实施例中,所述至少根据预定的定时器对所述内存区中埋点数据进行批量上报,具体包括:

检测定时器的时长;以及

响应于所述定时器达到预定时长,上报所述内存区中存储的埋点数据。

在一些实施例中,所述至少根据预定的定时器对所述内存区中埋点数据进行批量上报,具体为:

根据预定的定时器和数据长度对所述内存区中埋点数据进行批量上报。

在一些实施例中,所述根据预定的定时器和数据长度对所述内存区中埋点数据进行批量上报,具体包括:

检测内存区中存储的埋点数据的数据长度;

检测定时器的时长;以及

响应于所述数据长度达到预定长度,或者,响应于所述定时器达到预定时长,上报所述内存区中存储的埋点数据。

在一些实施例中,所述方法还包括:

响应于检测到关闭事件,上报所述内存区中存储的埋点数据。

在一些实施例中,在对所述内存区中埋点数据进行批量上报之前,所述方法还包括:

对存储的埋点数据进行筛选。

在一些实施例中,所述方法还包括:

初始化所述定时器和内存区。

第二方面,本发明实施例提供了一种数据采集装置,所述装置包括:

设置单元,用于在页面中设置待监测元素;

观察单元,用于获取目标区域和监听区域的交叉重叠度,所述目标区域用于表征所述待监测元素的位置信息,所述交叉重叠度用于表征所述目标区域在所述监听区域内的展示情况;

存储单元,用于响应于所述交叉重叠度满足预定条件,获取需要上报的埋点数据并存储在内存区;以及

第一上报单元,用于至少根据预定的定时器对所述内存区中埋点数据进行批量上报。

第三方面,本发明实施例提供了一种计算机可读存储介质,其上存储计算机程序指令,所述计算机程序指令在被处理器执行时实现如第一方面所述的方法。

第四方面,本发明实施例提供了一种电子设备,包括存储器和处理器,所述存储器用于存储一条或多条计算机程序指令,其中,所述一条或多条计算机程序指令被所述处理器执行以实现如第一方面所述的方法。

本发明实施例的技术方案通过在页面中设置待监测元素,获取待监测元素的目标区域和监听区域的交叉重叠度,响应于交叉重叠度满足预定条件,获取需要上报的埋点数据并存储在内存区,根据预定的定时器对所述内存区中埋点数据进行批量上报。。由此,可以减少元素的位置信息的计算量和埋点数据的上报次数,以提升应用程序的响应速度和用户体验。

附图说明

通过以下参照附图对本发明实施例的描述,本发明的上述以及其它目的、特征和优点将更为清楚,在附图中:

图1是本发明实施例的数据采集系统的示意图;

图2是本发明一个实施例的页面的示意图;

图3是本发明实施例的数据采集方法的流程图;

图4是本发明另一个实施例的页面的示意图;

图5是本发明实施例的批量上报埋点数据的流程图;

图6是本发明实施例的数据采集装置的示意图;

图7是本发明实施例的电子设备的示意图。

具体实施方式

以下基于实施例对本发明进行描述,但是本发明并不仅仅限于这些实施例。在下文对本发明的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本发明。为了避免混淆本发明的实质,公知的方法、过程、流程、元件和电路并没有详细叙述。

此外,本领域普通技术人员应当理解,在此提供的附图都是为了说明的目的,并且附图不一定是按比例绘制的。

除非上下文明确要求,否则在说明书的“包括”、“包含”等类似词语应当解释为包含的含义而不是排他或穷举的含义;也就是说,是“包括但不限于”的含义。

在本发明的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。

图1是本发明实施例的数据采集系统的示意图。如图1所示,本发明实施例的数据采集系统包括终端设备1和服务器2。其中,终端设备1可以与服务器2进行数据交互。

在本实施例中,终端设备1为用户使用的终端设备,可以通过手机、平板电脑、笔记本电脑、台式电脑、穿戴设备(例如智能手表、智能手环等)等实现。

进一步地,所述终端设备1安装有可以显示页面的应用程序,显示页面的应用程序可以实现为浏览器,但本发明对显示页面的应用程序的种类不作限制。浏览器启动后,从服务器中获取用户要访问的网络页面,并对网络页面进行加载并呈现。

在本实施例中,服务器2用于为终端设备1提供页面数据,并接受终端设备上报的埋点数据。其中,服务器2可以是独立的服务器,也可以是由多个服务器组成的服务器集群,本发明实施例对此不作限制。应理解,图1中以一个服务器2同时为终端设备1提供页面数据,并接受终端设备1上报的埋点数据为例进行说明,但本发明实施例对此不作限制。例如,也可以通过两个服务器实现,其中一个服务器为终端设备提供页面数据,另一个服务器接收终端设备上报的埋点数据。

具体地,当用户需要浏览页面数据时,在终端设备的浏览器输入对应的网址,终端设备对输入的网址通过dns(domainnamesystem,域名系统)解析后得到服务器地址,浏览器向服务器2发起http(hypertexttransferprotocol,超文本传输协议)请求,经过tcp(transmissioncontrolprotocol,传输控制协议)/ip(internetprotocol,网际互连协议)三次握手确认链接后,服务器2将需要的html(hypertextmarkuplanguage,超文本标记语言)代码发回给浏览器。浏览器接收到代码后进行解析,经过dom(documentobjectmodel,文档对象模型)构造、布局以及绘制页面,最终以网页的形式展现给用户。具体地,浏览器首先将收到的html代码,通过html解析器解析构建为一颗dom树。接着将接收到的css(cascadingstylesheets,层叠样式表)代码,通过css解析器构建出样式表规则将这些规则分别放到对应的dom树节点上,得到一颗带有样式属性的dom树。浏览器按从上到下、从左到右的顺序,读取dom树的文档节点,顺序存放到文档流中。然后将所有内容绘制出来,完成整个页面的渲染。由此,浏览器可以通过页面的方式向用户展示信息。

图2是本发明一个实施例的页面的示意图。如图2所示,浏览器通过上述方式可以得到页面a,虚线框a1-a5表示页面中的元素,每个元素可以是文字、图像、动画或其组合等数据。其中,b表示显示界面,显示界面可以是终端设备屏幕区域、浏览器窗口区域等。由此,用户可以通过上下左右滑动的操作选择将对应的元素显示在显示界面,进而选择浏览或点击等操作,本发明实施例对滑动的方法不作限制。

为了对网站进行运维,经常需要采集埋点数据来分析用户行为。其中,埋点是在产品、服务转化关键点植入统计代码上报用户行为的一种方式。例如,可以通过预设的埋点规则获取用户对各个目标元素的点击行为和浏览行为等。

现有技术中,采集埋点数据通常是通过监听页面的滚动事件进行的,当监听滚动事件时,调用位置监听函数获取元素的位置信息,位置监听函数能够获取元素的大小以及相对于视口的位置,元素的位置信息是包含完整元素的最小矩形。通过位置信息可以得到元素对应于视口左上角的坐标,再根据坐标判断是否在视口之内。但是,当滚动位置发生了改变,坐标就会随之立即发生变化,此时需要重新计算元素的位置。同时,由于计算目标元素的位置信息是在主线程中进行的,当页面中存在大量需要被监测的元素时,会使得元素的位置信息的计算量较大,导致页面卡顿,进而影响用户体验。同时,现有技术中,对于需要上报的埋点数据,通常是将采集到的埋点数据直接上报,当页面中存在大量的需要上报的元素时,会频繁触发上报数据,会给终端设备和服务器带来巨大的压力。

由此,本发明实施例提供了一种数据采集方法以减少元素的位置信息的计算量和埋点数据的上报次数,提升应用程序的响应速度和用户体验。

具体地,图3是本发明实施例的数据采集方法的流程图。如图3所示,本发明实施例的数据采集方法包括如下步骤:

步骤s100、在页面中设置待监测元素。

在本实施例中,在页面中设置待监测元素之前,终端设备接收注册指令,以根据所述注册指令为页面中的待监测元素注册监听事件。

具体地,运营方根据实际需求,通过服务器向终端设备发送注册指令,所述注册指令可以是vue指令。vue是一套用于构建用户界面的渐进式javascript(一种编程语言)框架。

进一步地,终端设备根据所述注册指令为页面中的待监测元素注册监听事件,所述监听事件用于指示需要上报的埋点数据。

其中,所述埋点数据包括事件名称、触发时间、终端标识、用户标识中一种或多种。

进一步地,在终端设备获取页面的过程中包括多个事件钩子,例如创建前(beforecreate)、创建(created)、挂载dom结构前(beforemount)、挂载dom结构完成(mounted)、更新前(beforeupdate)、更新完成(updated)、销毁前(beforedestory)、销毁完成(destroed)等。本实施例在页面渲染的时候(即beforemount)根据所述注册指令注册监听事件。

具体地,注册指令可如下所示:

publicstaticinject(app:application):void{

app.directive(name:‘show-report’,directive:{

beforemount(el){

xbreport.getxbreportinstance().add({el})

},

})

}

其中,上述通过指令注册的监听事件所指示的需要上报的埋点数据为曝光埋点,show-report为事件名称。

由于页面中并不是所有的元素都需要采集埋点数据,因此,通过注册指令可以在元素渲染的时候为需要进行监听的元素注册监听事件。

应理解,在为元素注册监听事件之前,可以根据用户通过客户端发送的包含用户信息的登录请求,根据用户信息验证用户是否具有参数配置权限。当用户不具有参数配置权限时,提示用户权限不足,当用户具有参数配置权限时,进行注册监听事件。

步骤s200、获取目标区域和监听区域的交叉重叠度。

在本实施例中,通过交叉观察器(intersectionobserver)获取目标区域和监听区域的交叉重叠度,所述目标区域用于表征所述待监测元素的位置信息,所述交叉重叠度用于表征所述目标区域在所述监听区域内的展示情况。

具体地,intersectionobserverapi(applicationprogramminginterface,应用程序接口)是一种开源的api,可以异步观察目标元素与其祖先元素或顶级文档视窗(viewport)交叉状态。其中,目标元素为网页中的各个元素,祖先元素或视窗为本发明实施例中的监听区域,在使用时,可以根据实际情况对监听区域进行配置,例如,可以配置浏览器窗口为及监听区域,或者,选择一个或多个区域为监听区域。

步骤s300、响应于所述交叉重叠度满足预定条件,获取需要上报的埋点数据并存储在预定的内存区。

在本实施例中,交叉观察器可以在检测目标区域和监听区域的交叉重叠度,在所述交叉重叠度满足预定条件时,触发回调函数,回调函数根据所述监听事件获取需要上报的埋点数据并存储在预定的内存区。

进一步地,所述预定条件为交叉重叠度大于或等于预定阈值。

进一步地,交叉观察器可接受回调函数和配置参数。由此,用户可以根据实际需求对交叉观察器进行配置。其中,回调函数是目标元素的可见性发生变化时的回调函数,配置参数包括第一配置参数和第二配置参数,所述第一配置参数为监听区域,可以选择配置一个或多个监听区域,所述第二配置参数为预定阈值,交叉观察器可以通过所述预定阈值判断目标元素的可见性是否发生了变化。

进一步地,交叉观察器检测接收到的配置参数中是否包括第一配置参数。响应于获取到第一配置参数,根据所述第一配置参数确定所述监听区域,响应于未获取到第一配置参数,根据第一默认参数确定所述监听区域。具体地,在配置交叉观察器的过程中,如果用户通过第一配置参数对监听区域进行配置,则根据用户的配置设置监听区域。如果用户并没有设置第一配置参数,则交叉观察器根据将默认区域设置为监听区域,优选地,默认区域为浏览器的窗口区域。

进一步地,交叉观察器检测接收到的配置参数中是否包括第二配置参数。响应于获取到第二配置参数,根据所述第二配置参数确定所述预定阈值,响应于未获取到第二配置参数,根据第二默认参数确定所述预定阈值。具体地,在配置交叉观察器的过程中,如果用户通过第二配置参数对预定阈值进行配置,则根据用户的配置设置预定阈值,其中,预定阈值可以是大于等于0且小于1的任意数值。如果用户并没有设置第二配置参数,则交叉观察器根据将默认数值设置为预定阈值,例如0.5等。

由此,交叉观察器可以根据监听区域和预定阈值检测目标元素的可见性的变化情况。具体地,交叉观察器可以获取目标元素的目标区域,所述目标区域用于表征目标元素的位置信息,根据目标元素的位置信息和监听区域计算交叉重叠度。更具体地,交叉观察器可以获取目标区域与监听区域的交叉区域,进而根据交叉区域确定所述交叉重叠度,所述交叉重叠度为所述交叉区域与所述目标区域的比值。比值越大,表示目标区域出现在监听区域内的部分越大,当比值为1时,表示目标区域全部出现在监听区域内。

以图2和图4为例进行说明,在某一时刻,页面a与监听区域b的相对位置如图2所示,此时,元素a1的区域全部出现在监听区域b内,元素a2有一部分出现在监听区域内。当用户将页面a滚动到图4所示的位置时,元素a2的区域全部出现在监听区域b内,元素a3有一部分出现在监听区域内。在这个过程中,交叉观察器可以确定元素a2和a3与监听区域b的交叉重叠度。其中,交叉观察器可以按照预定的频率检测各个元素与监听区域b的交叉重叠度。

在本实施例中,交叉观察器将检测到的目标元素的交叉重叠度与预定阈值进行比较,当所述交叉重叠度大于或等于预定阈值时,触发回调函数。例如,假设设置的预定阈值为0.1,当交叉观察器检测到目标元素的交叉重叠度大于或等于0.1时,开始触发回调函数,回调函数用于根据注册监听事件采集埋点数据。

由此,即可通过交叉观察器检测目标元素的可视性的变化情况,目标元素的可视性的变化时,当触发回调函数,通过回调函数采集埋点数据。由于交叉观察器的计算流程并不是在主线程内进行的,因此,可以使得主线程不进行目标元素的位置计算,进而减小主线程的埋点数据采集的计算量,提升浏览器的响应速度和用户体验。

步骤s400、至少根据预定的定时器对所述内存区中埋点数据进行批量上报。

在一个可选的实现方式中,终端设备根据预定的定时器对所述内存区中埋点数据进行批量上报。具体地,检测定时器的时长,响应于所述定时器达到预定时长,上报所述内存区中存储的埋点数据。

在另一个可选的实现方式中,终端设备可以根据预定的定时器和数据长度对所述内存区中埋点数据进行批量上报。具体地,批量上报存储的埋点数据的流程如图5所示,包括如下步骤:

步骤s410、初始化内存区和定时器。

在本实施例中,在每一次上报完数据之后,初始化内存区和定时器。

进一步地,初始化内存区具体为清空内存区的数据,初始化定时器具体为触发计时器重新开始计时。

步骤s420、检测数据长度是否达到预定长度。

在本实施例中,终端设备检测内存区中存储的埋点数据的数据长度是否达到预定长度。

如果达到预定长度,进入步骤s440。

如果没有达到预定长度,进入步骤s430。

步骤s430、检测定时器是否达到预定时长。

在本实施例中,如果内存区的数据长度没有达到预定长度,检测定时器是否达到预定时长。其中,定时器可以通过现有的各种方式实现,例如倒计时定时器或正计时定时器等。当时器为倒计时定时器时,定时器归零时表示定时器达到预定时长;当时器为正计时定时器时,定时器达到最大值时表示定时器达到预定时长。

如果达到预定时长,进入步骤s440。

如果没有达到预定长度,返回步骤s420,检测数据长度是否达到预定长度。

步骤s440、上报埋点数据。

在本实施例中,如果数据长度达到预定长度或者定时器达到预定时长,终端设备将存储的埋点数据上报至服务器。

进一步地,终端设备将存储的埋点数据上报至服务器后,返回步骤s410,初始化定时器和内存区,重新执行步骤s420-s440。

应理解,上述步骤s420和步骤s430不区分执行顺序,既可以是先后执行,也可以是同时执行。

例如,步骤s420和步骤s430还可以为:检测定时器是否达到预定时长,如果达到预定时长,开始上报数据;如果没有达到预定时长,检测数据长度是否达到预定长度,如果达到预定长度,开始上报数据;如果没有达到预定长度,返回检测定时器,直到定时器达到预定时长或者数据长度达到预定长度时,上报数据。

又例如,步骤s420和步骤s430还可以为:同时检测定时器是否达到预定时长以及数据长度是否达到预定长度,当定时器达到预定时长或者数据长度达到预定长度时,上报数据。

由此,可以通过预定长度使得在埋点数据达到一定量时进行上报,减少数据上报的次数;同时,在埋点数据较少时,内存区可能会长时间不会达到预定长度,由此,通过设置定时器可以使得在埋点数据较少时,能够及时上报数据,减少数据上报不及时的情况发生。也即,通过设置预定长度和定时器,既可以减少数据上报的次数,又可以减少数据上报不及时的情况发生。

进一步地,当内存区有数据、数据长度没有达到预定长度且计时器没有达到预定时长时,在关闭浏览器时,会自动清空内存区的数据,导致数据丢失。因此,本发明实施例的上报存储的埋点数据的流程还包括:

步骤s450、响应于检测到关闭事件,上报存储的埋点数据。

在本实施例中,当关闭浏览器时,可以检测到关闭事件,进而将存储的数据上报,由此,可以避免由于关闭浏览器而导致数据丢失的情况发生。

进一步地,在上述步骤s440和步骤s450,在上报埋点数据之前,可选地,还可以对数据进行筛选,筛选规则可以是基于现有的各种方法。例如,删除重复的数据。具体地,在用户上下滑动页面的过程中,对于同一元素,可能会多次出现在显示界面,这样可能会对同一元素采集多次埋点数据,可以通过筛选将重复的数据删除,以减少上报的数据的数量。

本发明实施例通过在页面中设置待监测元素,获取待监测元素的目标区域和监听区域的交叉重叠度,响应于交叉重叠度满足预定条件,获取需要上报的埋点数据并存储在内存区,根据预定的定时器对所述内存区中埋点数据进行批量上报。由此,可以减少元素的位置信息的计算量和埋点数据的上报次数,以提升应用程序的响应速度和用户体验。

图6是本发明实施例的数据采集装置的示意图。如图6所示,本发明实施例的数据采集装置包括:设置单元61、观察单元62、存储单元63和第一上报单元64。其中,设置单元61用于在页面中设置待监测元素。观察单元62用于获取目标区域和监听区域的交叉重叠度,所述目标区域用于表征所述待监测元素的位置信息,所述交叉重叠度用于表征所述目标区域在所述监听区域内的展示情况。存储单元63用于响应于所述交叉重叠度满足预定条件,获取需要上报的埋点数据并存储在内存区。第一上报单元64用于至少根据预定的定时器对所述内存区中埋点数据进行批量上报。

在一些实施例中,所述装置还包括:

接收单元,用于接收注册指令;

其中,所述设置单元具体用于:

根据所述注册指令为页面中的待监测元素注册监听事件,所述监听事件用于指示需要上报的埋点数据。

在一些实施例中,所述观察单元具体用于:

通过交叉观察器获取目标区域和监听区域的交叉重叠度。

在一些实施例中,所述埋点数据包括事件名称、触发时间、终端标识、用户标识中一种或多种。

在一些实施例中,所述装置还包括:

第一监听区域获取单元,用于响应于获取到第一配置参数,根据所述第一配置参数确定所述监听区域;以及

第二监听区域获取单元,用于响应于未获取到第一配置参数,根据第一默认参数确定所述监听区域。

在一些实施例中,所述预定条件为所述交叉重叠度大于或等于预定阈值。

在一些实施例中,所述装置还包括:

第一预定阈值确定单元,用于响应于获取到第二配置参数,根据所述第二配置参数确定所述预定阈值;以及

第二预定阈值确定单元,用于响应于未获取到第二配置参数,根据第二默认参数确定所述预定阈值。

在一些实施例中,所述至少根据预定的定时器对所述内存区中埋点数据进行批量上报,具体包括:

检测定时器的时长;以及

响应于所述定时器达到预定时长,上报所述内存区中存储的埋点数据。

在一些实施例中,所述第一上报单元具体用于:

根据预定的定时器和数据长度对所述内存区中埋点数据进行批量上报。

在一些实施例中,所述第一上报单元具体包括:

第一检测子单元,用于检测内存区中存储的埋点数据的数据长度;

第二检测子单元,用于检测定时器的时长;以及

数据上报子单元,用于响应于所述数据长度达到预定长度,或者,响应于所述定时器达到预定时长,上报所述内存区中存储的埋点数据。

在一些实施例中,所述装置还包括:

第二上报单元,用于响应于检测到关闭事件,上报所述内存区中存储的埋点数据。

在一些实施例中,所述装置还包括:

筛选单元,用于对存储的埋点数据进行筛选。

在一些实施例中,所述装置还包括:

初始化单元,用于初始化所述定时器和内存区。

本发明实施例通过在页面中设置待监测元素,获取待监测元素的目标区域和监听区域的交叉重叠度,响应于交叉重叠度满足预定条件,获取需要上报的埋点数据并存储在内存区,根据预定的定时器对所述内存区中埋点数据进行批量上报。由此,可以减少元素的位置信息的计算量和埋点数据的上报次数,以提升应用程序的响应速度和用户体验。

图7是本发明实施例的电子设备的示意图。图7所示的电子设备为通用数据处理装置,其包括通用的计算机硬件结构,其至少包括处理器71和存储器72。处理器71和存储器72通过总线73连接。存储器72适于存储处理器71可执行的指令或程序。处理器71可以是独立的微处理器,也可以是一个或者多个微处理器集合。由此,处理器71通过执行存储器72所存储的指令,从而执行如上所述的本发明实施例的方法流程实现对于数据的处理和对于其它装置的控制。总线73将上述多个组件连接在一起,同时将上述组件连接到显示控制器74和显示装置以及输入/输出(i/o)装置75。输入/输出(i/o)装置75可以是鼠标、键盘、调制解调器、网络接口、触控输入装置、体感输入装置、打印机以及本领域公知的其他装置。典型地,输入/输出装置75通过输入/输出(i/o)控制器76与系统相连。

本领域的技术人员应明白,本发明的实施例可提供为方法、装置(设备)或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可读存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品。

本发明实施例是参照根据本申请实施例的方法、装置(设备)和计算机程序产品的流程图来描述的。应理解可由计算机程序指令实现流程图中的每一流程。

这些计算机程序指令可以存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现流程图一个流程或多个流程中指定的功能。

也可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程中指定的功能的装置。

以上所述仅为本发明实施例的优选实施例,并不用于限制本发明实施例,对于本领域技术人员而言,本发明实施例可以有各种改动和变化。凡在本发明实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。


技术特征:

1.一种数据采集方法,其特征在于,所述方法包括:

在页面中设置待监测元素;

获取目标区域和监听区域的交叉重叠度,所述目标区域用于表征所述待监测元素的位置信息,所述交叉重叠度用于表征所述目标区域在所述监听区域内的展示情况;

响应于所述交叉重叠度满足预定条件,获取需要上报的埋点数据并存储在内存区;以及

至少根据预定的定时器对所述内存区中埋点数据进行批量上报。

2.根据权利要求1所述的方法,其特征在于,所述方法还包括:

接收注册指令;

其中,所述在页面中设置待监测元素,具体为:

根据所述注册指令为页面中的待监测元素注册监听事件,所述监听事件用于指示需要上报的埋点数据。

3.根据权利要求1所述的方法,其特征在于,所述获取目标区域和监听区域的交叉重叠度,具体为:

通过交叉观察器获取目标区域和监听区域的交叉重叠度。

4.根据权利要求1所述的方法,其特征在于,所述埋点数据包括事件名称、触发时间、终端标识、用户标识中一种或多种。

5.根据权利要求1所述的方法,其特征在于,所述方法还包括:

响应于获取到第一配置参数,根据所述第一配置参数确定所述监听区域;以及

响应于未获取到第一配置参数,根据第一默认参数确定所述监听区域。

6.根据权利要求1所述的方法,其特征在于,所述预定条件为所述交叉重叠度大于或等于预定阈值。

7.根据权利要求6所述的方法,其特征在于,所述方法还包括:

响应于获取到第二配置参数,根据所述第二配置参数确定所述预定阈值;以及

响应于未获取到第二配置参数,根据第二默认参数确定所述预定阈值。

8.根据权利要求1所述的方法,其特征在于,所述至少根据预定的定时器对所述内存区中埋点数据进行批量上报,具体包括:

检测定时器的时长;以及

响应于所述定时器达到预定时长,上报所述内存区中存储的埋点数据。

9.根据权利要求1所述的方法,其特征在于,所述至少根据预定的定时器对所述内存区中埋点数据进行批量上报,具体为:

根据预定的定时器和数据长度对所述内存区中埋点数据进行批量上报。

10.根据权利要求9所述的方法,其特征在于,所述根据预定的定时器和数据长度对所述内存区中埋点数据进行批量上报,具体包括:

检测内存区中存储的埋点数据的数据长度;

检测定时器的时长;以及

响应于所述数据长度达到预定长度,或者,响应于所述定时器达到预定时长,上报所述内存区中存储的埋点数据。

11.根据权利要求1所述的方法,其特征在于,所述方法还包括:

响应于检测到关闭事件,上报所述内存区中存储的埋点数据。

12.根据权利要求1所述的方法,其特征在于,在对所述内存区中埋点数据进行批量上报之前,所述方法还包括:

对存储的埋点数据进行筛选。

13.根据权利要求10所述的方法,其特征在于,所述方法还包括:

初始化所述定时器和内存区。

14.一种数据采集装置,其特征在于,所述装置包括:

设置单元,用于在页面中设置待监测元素;

观察单元,用于获取目标区域和监听区域的交叉重叠度,所述目标区域用于表征所述待监测元素的位置信息,所述交叉重叠度用于表征所述目标区域在所述监听区域内的展示情况;

存储单元,用于响应于所述交叉重叠度满足预定条件,获取需要上报的埋点数据并存储在内存区;以及

第一上报单元,用于至少根据预定的定时器对所述内存区中埋点数据进行批量上报。

15.一种计算机可读存储介质,其上存储计算机程序指令,其特征在于,所述计算机程序指令在被处理器执行时实现如权利要求1-13中任一项所述的方法。

16.一种电子设备,包括存储器和处理器,其特征在于,所述存储器用于存储一条或多条计算机程序指令,其中,所述一条或多条计算机程序指令被所述处理器执行以实现如权利要求1-13中任一项所述的方法。

技术总结
公开了一种数据采集方法、装置、存储介质和电子设备。通过在页面中设置待监测元素,获取待监测元素的目标区域和监听区域的交叉重叠度,响应于交叉重叠度满足预定条件,获取需要上报的埋点数据并存储在内存区,根据预定的定时器对所述内存区中埋点数据进行批量上报。由此,可以减少元素的位置信息的计算量和埋点数据的上报次数,以提升应用程序的响应速度和用户体验。

技术研发人员:林涛
受保护的技术使用者:上海哔哩哔哩科技有限公司
技术研发日:2021.04.13
技术公布日:2021.08.03

转载请注明原文地址:https://doc.8miu.com/read-2156.html

最新回复(0)