埋点对象设置方法、装置及系统与流程

文档序号:23554674发布日期:2021-01-05 21:16阅读:92来源:国知局
埋点对象设置方法、装置及系统与流程

本公开涉及通信技术领域,尤其涉及一种埋点对象设置方法、装置及系统。



背景技术:

目前,通过在应用程序的页面中进行埋点,可以采集并分析埋点数据,来统计用户的行为习惯,进而可以为用户提供更好的使用体验。

目前,在相关的技术中,每当需要收集页面的埋点数据时,都需要新建埋点对象,在利用埋点对象收集完成埋点数据并上报之后,这些埋点对象就会被丢弃,成为废弃埋点对象,这些废弃埋点对象会占用电子设备的存储空间,影响应用程序的页面加载时间,造成应用程序的卡顿。



技术实现要素:

本公开提供一种埋点对象设置方法、装置、系统、服务器及存储介质,以至少解决相关技术中废弃埋点对象占用电子设备的内存,影响应用程序的页面加载时间,造成应用程序的卡顿的问题。

本公开的技术方案如下:

根据本公开实施例的第一方面,提供一种埋点对象设置方法,包括:

接收针对目标页面的埋点对象设置请求,确定与埋点对象设置请求对应的目标埋点对象;其中,目标埋点对象用于设置在目标页面中获取对应的埋点数据;检测到全局埋点对象池中存在目标埋点对象,从全局埋点对象池中获取目标埋点对象;其中,全局埋点对象池中包括至少一个已用于获取埋点数据的埋点对象;响应于埋点对象设置请求,在目标页面中设置目标埋点对象。

根据本公开实施例的第二方面,提供另一种埋点对象设置方法,包括:

接收电子设备发送的第一请求信息,第一请求信息用于从服务器的全局埋点对象池中获取目标埋点对象;响应于第一请求信息,检测到全局埋点对象池中存在目标埋点对象,从全局埋点对象池中获取目标埋点对象;其中,全局埋点对象池中包括至少一个已用于获取埋点数据的埋点对象;向电子设备返回目标埋点对象,以便电子设备在目标页面中设置目标埋点对象。

根据本公开实施例的第三方面,提供一种埋点对象设置装置,包括:

接收模块,被配置为执行接收针对目标页面的埋点对象设置请求;确定模块,被配置为执行确定与埋点对象设置请求对应的目标埋点对象;其中,目标埋点对象用于设置在目标页面中获取对应的埋点数据;检测模块,被配置为执行检测到全局埋点对象池中存在目标埋点对象;获取模块,被配置为执行从全局埋点对象池中获取目标埋点对象;其中,全局埋点对象池中包括至少一个已用于获取埋点数据的埋点对象;设置模块,被配置为执行响应于埋点对象设置请求,在目标页面中设置目标埋点对象。

根据本公开实施例的第四方面,提供另一种埋点对象设置装置,包括:

接收模块,被配置为执行接收电子设备发送的第一请求信息,第一请求信息用于从服务器的全局埋点对象池中获取目标埋点对象;检测模块,被配置为执行响应于第一请求信息,检测到全局埋点对象池中存在目标埋点对象;获取模块,被配置为执行从全局埋点对象池中获取目标埋点对象;其中,全局埋点对象池中包括至少一个已用于获取埋点数据的埋点对象;返回模块,被配置为执行向电子设备返回目标埋点对象,以便电子设备在目标页面中设置目标埋点对象。

根据本公开实施例的第五方面,提供一种埋点对象设置系统,包括:

电子设备,被配置为执行响应于针对目标页面的埋点对象设置请求,确定与埋点对象设置请求对应的目标埋点对象;其中,目标埋点对象用于设置在目标页面中获取对应的埋点数据;向服务器发送第一请求信息;

服务器,被配置为执行响应于第一请求信息,检测到全局埋点对象池中存在目标埋点对象,从全局埋点对象池中获取目标埋点对象;其中,全局埋点对象池中包括至少一个已用于获取埋点数据的埋点对象;

电子设备,还被配置为执行接收服务器返回的目标埋点对象;响应于埋点对象设置请求,在目标页面中设置目标埋点对象。

根据本公开实施例的第六方面,提供一种服务器,包括:处理器;用于存储处理器可执行指令的存储器;其中,处理器被配置为执行指令,以实现如第一方面或者第二方面所述的埋点对象设置方法。

根据本公开实施例的第七方面,提供一种存储介质,当存储介质中的指令由服务器的处理器执行时,使得服务器能够执行如第一方面或者第二方面所述的埋点对象设置方法。

根据本公开实施例的第八方面,提供一种计算机程序产品,当计算机程序产品中的指令由服务器的处理器执行时,使得服务器能够执行如第一方面或者第二方面所述的埋点对象设置方法。

本公开的实施例提供的技术方案至少带来以下有益效果:

在本公开实施例中,通过确定针对目标页面的埋点对象设置请求相对应的目标埋点对象,然后在检测到全局埋点对象池中存在目标埋点对象的情况下,从全局埋点对象池中获取目标埋点对象,在目标页面中设置目标埋点对象。由于全局埋点对象池中存储的是已用于获取埋点数据的埋点对象,这样,就可以循环使用已用于获取埋点数据的埋点对象,减少废弃埋点对象,减少存储空间的占用,提高目标页面所属的应用程序的流畅度,避免应用程序的卡顿产生。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。

图1是根据一示例性实施例示出的一种埋点对象设置场景示意图。

图2是根据一示例性实施例示出的埋点对象设置方法、装置、电子设备及存储介质应用环境示意图。

图3是根据一示例性实施例示出的一种埋点对象设置方法的流程图。

图4是根据一示例性实施例示出的另一种埋点对象设置场景示意图。

图5是根据一示例性实施例示出的一种存储空间示意图。

图6是根据一示例性实施例示出的一种实现埋点对象设置方法的流程示意图。

图7是根据一示例性实施例示出的另一种埋点对象设置方法的流程图。

图8是根据一示例性实施例示出的一种实现埋点数据获取方法的流程示意图。

图9是根据一示例性实施例示出的埋点对象设置系统的示意图。

图10是根据一示例性实施例示出的埋点数据获取系统的示意图。

图11是根据一示例性实施例示出的一种埋点对象设置装置的框图。

图12是根据一示例性实施例示出的另一种埋点对象设置装置的框图。

图13是根据一示例性实施例示出的一种服务器的框图。

图14是根据一示例性实施例示出的用于数据处理的设备的框图。

具体实施方式

为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。

需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

对于多页面项目来说,在对多页面中的目标页面进行开发时,项目中的其他页面经常会对目标页面的开发过程产生影响。

下面,以图1为例说明相关技术中埋点对象设置的具体实现方式。

图1是根据一示例性实施例示出的一种埋点对象设置场景示意图。如图1所示,随着场景需要,新建了多个埋点,每个场景对应一个埋点对象。这里的场景指的是页面场景,例如:当检测到显示界面包括页面1时,这种情况就称为场景1,随着场景1对于埋点对象的需要,就自动触发埋点对象的创建,即创建埋点对象1。

依次类推,分别为页面1创建了埋点对象1、为页面2创建了埋点对象2、为页面3创建了埋点对象3和埋点对象4、为页面4创建了埋点对象5、为页面5创建了埋点对象6。其中,一个页面可以包括多个埋点对象,比如页面3就包括埋点对象3和埋点对象4,这些埋点对象上报完成埋点数据后,就会被丢弃,丢弃的埋点对象等待系统垃圾回收进行清理。随埋点场景越来越多,埋点需求越来越多,越来越多的废弃埋点对象等待被回收,被废弃的埋点对象占用电子设备的内存,影响应用程序的使用性能。

为了解决上述相关技术中存在的在利用新建埋点对象收集埋点数据之后被废弃,被废弃的埋点对象占用电子设备的内存,影响应用程序的页面加载时间,造成应用程序的卡顿的问题。

本公开提供了一种埋点对象设置方法、装置、电子设备及存储介质。该埋点对象设置方法、装置、电子设备及存储介质,通过确定针对目标页面的埋点对象设置请求相对应的目标埋点对象,然后在检测到全局埋点对象池中存在目标埋点对象的情况下,从全局埋点对象池中获取目标埋点对象,在目标页面中设置目标埋点对象。由于全局埋点对象池中存储的是已用于获取埋点数据的埋点对象,这样,就可以循环使用已用于获取埋点数据的埋点对象,减少废弃埋点对象,减少存储空间的占用,提高目标页面所属的应用程序的流畅度,避免应用程序的卡顿产生。

埋点,也称用户行为统计,埋点就是在应用中特定的流程收集一些信息,用来跟踪应用使用的状况,后续用来进一步优化产品或是提供运营的数据支撑。埋点是移动互联网产品中重要的环节。埋点的宏观目标是为了获取数据指标来整体上验证互联网产品的业务逻辑是否顺畅。

从实现方式上来讲,埋点就是提供植入一段代码到应用程序的某个页面,从而收集用户线上行为信息,并上报给服务器。通过埋点收集到的用户线上行为信息可以称为埋点数据,可以包括:访问数、访客数、停留时长、页面浏览数和跳出率。

埋点数据大致可以分为两种:页面统计和统计操作行为。

其中,页面统计,可以统计应用程序内各个页面的访问次数、访问设备数和访问时长,以及各页面之间的流向关系。页面访问次数,即当前页面的被访问的次数,例如:首页,访问次数,1000次;页面访问人数,即访问该页面的活跃用户数,例如:首页,访问人数,100次;页面访问时长,即用户在页面的停留时长,例如:首页,访问总时长,2小时。其中,统计操作行为,可以统计用户对应用程序内各个页面的输入情况。

如图2所示,是本公开说明书一个或多个实施例提供的埋点对象设置方法、装置、电子设备及存储介质的应用环境示意图。如图2所示,服务器100通过网络300与一个或多个用户端200通信连接,以进行数据通信或交互。所述服务器100以是网络服务器、数据库服务器等。所述用户端200可以是,但不限于个人电脑(personalcomputer,pc)、智能手机、平板电脑、个人数字助理(personaldigitalassistant,pda)等。所述网络300可以是有线或无线网络。

下面将对本公开实施例提供的埋点对象设置方法进行详细说明。

本公开实施例提供的埋点对象设置方法可以应用于用户端200,为了便于描述,除特别说明外,本公开实施例均以用户端200为执行主体进行说明。可以理解的是,所述的执行主体并不构成对本公开的限定。

下面,首先对本公开提供的埋点对象设置方法进行说明。

图3是根据一示例性实施例示出的一种埋点对象设置方法的流程图。

如图3所示,该埋点对象设置方法可以包括以下步骤。

s310,接收针对目标页面的埋点对象设置请求,确定与埋点对象设置请求对应的目标埋点对象;其中,目标埋点对象用于设置在目标页面中获取对应的埋点数据。

s320,检测到全局埋点对象池中存在目标埋点对象,从全局埋点对象池中获取目标埋点对象;其中,全局埋点对象池中包括至少一个已用于获取埋点数据的埋点对象。

s330,响应于埋点对象设置请求,在目标页面中设置目标埋点对象。

上述各步骤的具体实现方式将在下文中进行详细描述。

在本公开实施例中,通过在检测到全局埋点对象池中存在与目标页面的埋点对象设置请求相对应的目标埋点对象的情况下,从全局埋点对象池中获取目标埋点对象,在目标页面中设置目标埋点对象。由于全局埋点对象池中存储的是已用于获取埋点数据的埋点对象,这样,就可以循环使用已用于获取埋点数据的埋点对象,提高埋点对象的使用率,减少存储空间的占用。

下面介绍上述各个步骤的具体实现方式。

首先介绍s310。

接收针对目标页面的埋点对象设置请求,确定与埋点对象设置请求对应的目标埋点对象;其中,目标埋点对象用于设置在目标页面中获取对应的埋点数据。

其中,上述涉及到的接收针对目标页面的埋点对象设置请求,可以包括:响应于检测到搜所述目标页面的预设接口和/或预设控件存在监测需求时,自动触发目标页面的埋点对象设置请求。

其中,上述涉及到的确定与埋点对象设置请求对应的目标埋点对象的步骤中,具体可以包括:确定与埋点对象设置请求对应的埋点需求信息;根据埋点需求信息确定与埋点对象设置请求对应的目标埋点对象。

示例性地,目标页面为某商品的购买页面,目标埋点对象可以包括:该购买页面上被添加有标记的购买控件、收藏控件、链接控件等。在目标埋点对象被设置在目标页面中的情况下,上述涉及到的获取对应的埋点数据可以为预设时间段内接收用户对该收藏控件的次数。

这里,确定目标埋点对象,是为了后续将埋点对象设置在目标页面中,来获取对应的埋点数据,通过将用于表示用户线上行为数据的埋点数据收集起来,能够为后续精准分析用户的行为特征提供良好的数据基础。

其次介绍s320。

作为本公开的一种实现方式,为了提高埋点对象的使用率,在s320之前,还可以包括以下步骤:

检测到已用于获取埋点数据的埋点对象,将已用于获取埋点数据的埋点对象存储于全局埋点对象池。

在检测到已用于获取埋点数据的埋点对象的情况下,即在检测到埋点对象已向服务器上报埋点数据的情况下,对于这些已向服务器上报埋点数据的埋点对象,不再直接对其进行丢弃处理,而是将其存储在全局埋点对象池中,以供后续为其它页面使用。

这里,将已用于获取埋点数据的埋点对象存储于全局埋点对象池,以供后续为其它页面使用,可以循环使用已用于获取埋点数据的埋点对象,提高埋点对象的使用率;而且通过使用已用于获取埋点数据的埋点对象,就能减少新建埋点对象的数量,减少埋点对象占用的存储空间。

在本公开一些实施例中,全局埋点对象池包括复用池和缓存池,在上述涉及到的检测到已用于获取埋点数据的埋点对象,将已用于获取埋点数据的埋点对象存储于全局埋点对象池的步骤中,具体可以包括以下步骤:

检测到已用于获取埋点数据的埋点对象,将已用于获取埋点数据的埋点对象存储于缓存池;根据第一预设时间周期内埋点对象设置请求的数量,从缓存池中确定第一数量的已用于获取埋点数据的埋点对象;将第一数量的已用于获取埋点数据的埋点对象传输至复用池。

其中,上报埋点数据的第二埋点对象首先被收集到缓存池,然后,若复用池需要埋点对象,则复用池可以直接向缓存池申请埋点对象,缓存池向复用池提供第一数量的已用于获取埋点数据的埋点对象。

这里,通过从缓存池中确定第一数量的已用于获取埋点数据的埋点对象,并传输至复用池,把缓存池作为复用池的缓冲,能够保持复用池的稳定性。

在本公开一些实施例中,检测到全局埋点对象池中不存在目标埋点对象,新建目标埋点对象。

当目标页面需要获取埋点对象时,先向全局埋点对象池进行获取,当全局埋点对象池存储有目标埋点对象时,直接返回一个复用的目标埋点对象;如果全局埋点对象池为空,就新建目标埋点对象。

这样,在检测到全局埋点对象池为空的情况下,再新建目标埋点对象,既可以避免埋点对象的滥用,还可以保证埋点数据的获取过程不被延迟。

在本公开一些实施例中,s320具体可以包括以下步骤:检测到复用池中存储有目标埋点对象,从复用池中获取目标埋点对象;检测到复用池中没有目标埋点对象,检测缓存池中是否存在目标埋点对象;检测到缓存池中存储有目标埋点对象,从缓存池中获取目标埋点对象。

首先,当目标页面需要获取埋点对象时,先向复用池进行获取,当复用池存储有埋点对象时,直接返回一个复用的埋点对象,这样,可以避免埋点对象的滥用,提高埋点对象的使用率。

如图4所示,分别为页面1创建了埋点对象1、为页面2创建了埋点对象2、为页面3创建了埋点对象3和埋点对象4、为页面4创建了埋点对象5、为页面5创建了埋点对象6。这些埋点对象上报完成埋点数据后,被暂时存储在复用池中。

当场景5和场景6再次需要埋点对象时,无需重新创建,可以直接从复用池中调用埋点对象。复用池将回收来的埋点对象1提供给页面5的场景5,将回收来的埋点对象2提供给页面5的场景6。另外,根据复用池的剩余存储空间,还可以选择将复用池中的埋点对象3和埋点对象4丢弃。

接着,当目标页面需要获取目标埋点对象时,先向复用池进行获取,如果复用池为空,就会向缓存池发送埋点请求,如果缓存池有剩余的目标埋点对象,就可以直接使用,即从缓存池中获取目标埋点对象,并基于目标埋点对象收集目标页面的埋点数据。

可选地,如图5所示,复用池510中的埋点对象、缓存池520中的埋点对象和新建埋点对象530之间的数量关系可以为金字塔结构,复用池存储的埋点对象最多,其次多的是缓存池的埋点对象,最少的是新建的埋点对象。复用池的容量较大,缓存池的容量较小。响应首先由容量较大、存储埋点对象较多的复用池执行,这样能够尽快的为页面提供埋点对象。

这里,响应于埋点对象设置请求,首先由底层的存储埋点对象较多的复用池执行,若底层的复用池无法提供埋点请求需要数量的埋点对象,则向上层的缓存池进行调度,若缓存池也无法提供埋点请求需要数量的埋点对象,最后再进行埋点对象的创建,以形成一个更稳定的结构,避免直接新建埋点对象,减少资源浪费。

在本公开一些实施例中,获取埋点对象的先后顺序如图6所示。

s602,接收埋点请求。

s604,检测复用池中是否存在目标埋点对象。

若是,则执行s608;若否,则执行s606。

s606,检测缓存池中是否存在目标埋点对象。

若是,则执行s610;若否,则执行s612。

s608,循环使用废弃埋点对象。

这里,当复用池存储有目标埋点对象时,复用池直接返回一个复用的目标埋点对象,以实现循环使用废弃埋点对象的目的。

s610,循环使用废弃埋点对象。

这里,当缓存池存储有目标埋点对象时,缓存池直接返回一个复用的目标埋点对象,以实现循环使用废弃埋点对象的目的。

s612,新建埋点对象。

这里,如果复用池和缓存池都没有剩余的目标埋点对象,就新建目标埋点对象,并基于目标埋点对象收集目标页面的埋点数据。

在本公开一些实施例中,向服务器发送第一请求信息,第一请求信息用于从服务器的全局埋点对象池中获取目标埋点对象;接收服务器返回的目标埋点对象。

目标埋点对象不仅可以由电子设备从本端获取,还可以向服务器请求获取目标埋点对象,由于服务器的处理能力更强,所以获取目标埋点对象的效率更高。

这里,通过向服务器发送第一请求信息,以用于从服务器的全局埋点对象池中获取目标埋点对象,能够快速准确地获取目标埋点对象,保证后续顺利在目标页面中设置目标埋点对象。

在本公开一些实施例中,检测到显示界面包括目标页面所属的目标应用程序的启动页面,向服务器发送第二请求信息,第二请求信息用于从服务器获取第一埋点对象;其中,第一埋点对象用于在接收到针对主程序页面的埋点对象设置请求的情况下,从全局埋点对象池中获取第一埋点对象,主程序页面为启动页面的下一页面。

为了保证页面加载速度,在检测到显示界面包括目标页面所属的目标应用程序的启动页面的情况下,则向服务器发送第二请求信息,以用于服务器预先创建第一埋点对象,并将其存储于全局埋点对象池,然后在接收到针对主程序页面的埋点对象设置请求的情况下,从全局埋点对象池中获取第一埋点对象并传输至电子设备。

对于app来说,启动界面是主程序页面显示之前显示的页面,主程序页面为紧接着启动页面之后显示的下一页面。如果一个页面完成主程序页面加载的时间大于预设阈值(例如:1秒),可能会导致用户不愿意使用该app。也就是说,主程序页面加载时间对用户留存率的影响很大。

在启动app的过程中,为了不影响页面加载的速度,可以预先创建一定数量的第一埋点对象,放入全局埋点对象池中,以用于在接收到主程序页面的埋点对象设置请求的情况下,为主程序页面提供第一埋点对象,这样,可以保证启动页面之后,下一页面(即主程序页面)中猛增的埋点对象的创建需求,保证页面的平稳加载,

最后介绍s330。

响应于埋点对象设置请求,在目标页面中设置目标埋点对象,利用目标埋点对象在目标页面中获取对应的埋点数据。

在目标页面中设置目标埋点对象,可以跟踪用户与目标页面使用的状况,从实现方式上来讲,在目标页面中设置目标埋点对象就是在目标页面植入一段代码,从而收集用户线上行为信息,并上报给服务器,通过埋点收集到的用户线上行为信息可以称为埋点数据。

综上,本公开实施例,通过确定针对目标页面的埋点对象设置请求相对应的目标埋点对象,然后在检测到全局埋点对象池中存在目标埋点对象的情况下,从全局埋点对象池中获取目标埋点对象,在目标页面中设置目标埋点对象。由于全局埋点对象池中存储的是已用于获取埋点数据的埋点对象,这样,就可以循环使用已用于获取埋点数据的埋点对象,提高埋点对象的使用率,减少废弃埋点对象,减少存储空间的占用,提高目标页面所属的应用程序的流畅度,避免应用程序的卡顿产生。

基于上述埋点对象设置方法,本公开还提供了另一种埋点对象设置方法,应用于服务器。具体结合图7进行说明。该埋点对象设置方法700包括:

s710,接收电子设备发送的第一请求信息,第一请求信息用于从服务器的全局埋点对象池中获取目标埋点对象。

s720,响应于第一请求信息,检测到全局埋点对象池中存在目标埋点对象,从全局埋点对象池中获取目标埋点对象;其中,全局埋点对象池中包括至少一个已用于获取埋点数据的埋点对象。

s730,向电子设备返回目标埋点对象,以便电子设备在目标页面中设置目标埋点对象。

上述各步骤的具体实现方式将在下文中进行详细描述。

在本公开实施例中,通过响应于电子设备发送的第一请求信息,检测到全局埋点对象池中存在目标埋点对象,从全局埋点对象池中获取目标埋点对象,并向电子设备返回目标埋点对象,以便电子设备在目标页面中设置目标埋点对象。由于全局埋点对象池中存储的是已用于获取埋点数据的埋点对象,这样,就可以循环使用已用于获取埋点数据的埋点对象,提高埋点对象的使用率,减少存储空间的占用。

下面介绍上述各个步骤的具体实现方式。

首先介绍s710。

在本公开一些实施例中,检测到已用于获取埋点数据的埋点对象,将所述已用于获取埋点数据的埋点对象存储于所述全局埋点对象池。

在检测到已用于获取埋点数据的埋点对象的情况下,即在检测到目标应用程序的第二页面中的第二埋点对象已向服务器上报埋点数据的情况下,对于这些已向服务器上报埋点数据的第二埋点对象,不再直接对其进行丢弃处理,而是将其存储在全局埋点对象池第一存储空间中,以供后续为其它页面使用。

这里,将已用于获取埋点数据的埋点对象存储于全局埋点对象池,以供后续为其它页面使用,可以采用循环使用已用于获取埋点数据已上报埋点数据的第二埋点对象,提高埋点对象的使用率;而且通过使用已用于获取埋点数据已上报埋点数据的第二埋点对象,就能减少新建埋点对象的数量,减少埋点对象占用的存储空间。

在本公开一些实施例中,全局埋点对象池包括复用池和缓存池,上述涉及到的检测到已用于获取埋点数据的埋点对象,将所述埋点对象存储于所述全局埋点对象池的步骤中,具体可以包括以下步骤:检测到已用于获取埋点数据的埋点对象,将所述已用于获取埋点数据的埋点对象存储于所述缓存池;根据第一预设时间周期内所述埋点对象设置请求的数量,从所述缓存池中确定第一数量的所述已用于获取埋点数据的埋点对象;将所述第一数量的所述已用于获取埋点数据的埋点对象传输至所述复用池。

其中,上报埋点数据的第二埋点对象首先被收集到缓存池,然后,若复用池需要埋点对象,则复用池可以直接向缓存池申请埋点对象,缓存池向复用池提供第一数量的已用于获取埋点数据的埋点对象已向服务器上报埋点数据的第二埋点对象。

这里,通过从缓存池中确定第一数量的已用于获取埋点数据的埋点对象,并传输至复用池,把缓存池作为复用池的缓冲,能够保持复用池的稳定性。

然后介绍s720。

在本公开一些实施例中,为了保证页面加载速度,响应于所述电子设备发送的第二请求信息,新建第一埋点对象;将所述第一埋点对象存储于所述全局埋点对象池,以用于在接收到针对主程序页面的埋点对象设置请求的情况下,从所述全局埋点对象池中获取所述第一埋点对象,所述主程序页面为所述启动页面的下一页面。

在启动app的过程中,为了不影响页面加载的速度,可以预先创建一定数量的第一埋点对象,放入全局埋点对象池中,以用于在接收到主程序页面的埋点对象设置请求的情况下,为主程序页面提供第一埋点对象,这样,可以保证启动页面之后,下一页面(即主程序页面)中猛增的埋点对象的创建需求,保证页面的平稳加载,具体步骤如图8所示。

s801,开启目标应用程序。

接收用户开启目标应用程序的输入,响应于该输入,开启目标应用程序。

s802,页面加载。

在开启目标应用程序之后,开启目标应用程序显示的第一个显示界面为首屏,也可以称之为启动界面,启动界面也是主程序页面显示之前显示的页面。

s803,埋点对象创建请求。

在检测到电子设备显示首屏页面的情况下,为了不影响页面加载的速度,的管理模块可以自动向复用池发送埋点对象创建请求,请求复用池预先创建一定数量的埋点对象,为目标应用程序后续显示的第二屏以及其它页面使用。

s804,创建埋点对象。

复用池响应于复用池的管理模块发送的埋点对象创建请求,创建一定数量的埋点对象,放入复用池中。

s805,创建完成。

复用池可以向复用池的管理模块返回一个用于表示创建完成的消息。

s806,加载第二屏。

其中,第二屏可以为主程序页面,开启目标应用程序之后,显示的第一个显示界面为首屏(启动界面),显示首屏之后,随即显示第二屏(主程序页面)。

s807,页面加载。

显示第二屏(主程序页面)之后,可以显示其它页面。以聊天app为例,启动界面可以为带有该聊天app标识的一个页面,该标识一般为图案信息;主程序页面可以为带有消息列表和联系人列表的页面;其他页面可以为与某个联系人的聊天窗口显示页面。

s808,接受埋点请求。

复用池的管理模块接受第二屏的埋点请求。

s809,发送埋点对象。

复用池的管理模块从复用池中获取埋点对象,并将埋点对象返回第二屏,以利用埋点对象收集第二屏的埋点数据。

s810,接受埋点请求。

复用池的管理模块接受其它页面的埋点请求。

s811,发送埋点对象。

复用池的管理模块从复用池中获取埋点对象,并将埋点对象返回其它页面,以利用埋点对象收集其它页面的埋点数据。

s812,调整容量。

在复用池的使用过程中,复用池的管理模块可以收集用户与目标应用程序之间的交互频率信息,复用池的管理模块可以根据交互频率信息,动态的调整复用池的容量。

s813,调整完成。

复用池向复用池的管理模块返回一个用于标识调整完成的信息。

由此,通过预先创建一定数量的第一埋点对象,放入全局埋点对象池中,这样,在接收到主程序页面的埋点对象设置请求的情况下,就可以快速地为主程序页面提供第一埋点对象,能够满足启动页面之后,下一页面(即主程序页面)中猛增的埋点对象的创建需求,保证页面的平稳加载,提升用户体验。

响应于第一请求信息,检测到全局埋点对象池中存在目标埋点对象,从全局埋点对象池中获取目标埋点对象;其中,全局埋点对象池中包括至少一个已用于获取埋点数据的埋点对象。

在本公开一些实施例中,统计缓存池中存储的已用于获取埋点数据的埋点对象的第二数量;根据第二数量调整缓存池的容量。

当埋点对象收集的埋点数据被上报之后,这些已用于获取埋点数据的埋点对象就已经是提取过信息的废弃埋点对象,这个时候由缓存池进行接收处理。

在本公开一些实施例中,在缓存池的废弃埋点对象(即已用于获取埋点数据的埋点对象)的第二数量小于第一预设阈值的情况下,缓存池会减小自身容量,当缓存池中的废弃埋点对象大于或等于第一预设阈值时,缓存池会扩大自身容量,以适应变化中的缓存池中存储的废弃埋点对象的第二数量。

由此,通过根据缓存池中存储的已用于获取埋点数据的埋点对象的第二数量,动态调整缓存池的容量,使缓存池中存储的埋点对象的数量比较稳定,提高缓存池的空间稳定性,进而提高全局埋点对象池的稳定性。

需要说明的是,对于缓存池的容量的调整是周期性的,即待埋点对象创建情况稳定后,再调整缓存池的容量,能够提高埋点数据获取的稳定性。

在本公开一些实施例中,当缓存池的废弃埋点对象小于第二预设阈值时,缓存池会收集这些废弃埋点对象,当缓存池中的废弃埋点对象大于或等于第二预设阈值时,会将超出第一预设阈值的部分废弃埋点对象进行丢弃。

示例性地,缓存池收集废弃埋点对象,遵循“先进先出”的收集规则,假设缓存池可以容纳100个废弃埋点对象,目前已有20个废弃埋点对象,当又有100个上报完数据的废弃埋点对象需要缓存池接收时,缓存池将已有的20个废弃埋点对象丢弃掉,接收100个刚刚上报完数据的废弃埋点对象。

在本公开一些实施例中,收集用户与目标页面所属的目标应用程序之间的交互频率信息;根据交互频率信息,调整复用池的容量。

在复用池的使用过程中,可以收集用户与目标页面所属的目标应用程序之间的交互频率信息,交互频率信息用于表示用户在预设时间段内使用目标应用程序的频繁程度,然后根据交互频率信息,动态的调整复用池的容量。

具体地,交互频率信息可以根据下述中的至少一者来确定:预设时间段内用户使用目标应用程序的次数、用户每次使用目标应用程序的时间,以及接收到的用户的触控输入的时间。

这里,若用户使用频繁,则扩大复用池的容量,若用户使用不频繁,则缩小复用池的容量,能够适应不断变化的埋点对象设置需求,能够提升复用池的实用性。

在本公开一些实施例中,收集第二预设时间周期内目标页面所属的目标应用程序的埋点对象的反馈信息;根据反馈信息调整缓存池中的已用于获取埋点数据的埋点对象的存活周期;存活周期用于指示在缓存池中的第二埋点对象的存活时间达到存活周期的情况下,丢弃第二埋点对象;其中,反馈信息包括下述中的至少一项:新建的目标埋点对象的数量、从复用池中获取的目标埋点对象的数量、从缓存池中获取的目标埋点对象的数量、复用池容量和缓存池的容量。

为了防止快速频繁的使用消耗复用池,但是又没有及时的创建新的埋点对象,进而导致不能及时获取目标应用程序的埋点数据,可以调整缓存池中的第二埋点对象的存活周期,及时补充埋点复用池的亏空。由于,新建的目标埋点对象的数量、从复用池中获取的目标埋点对象的数量、从缓存池中获取的目标埋点对象的数量和复用池容量和缓存池的容量等这些反馈信息能够反馈第二预设时间周期内目标应用程序的埋点对象的新建情况和埋点数据的上报情况,可以根据反馈信息动态的调整缓存池中的第二埋点对象的存活周期。

示例性地,缓存池中的第二埋点对象的初始存活周期为3小时,即被回收的第二埋点对象可以在缓存池中存储3小时,反馈信息表示第二预设时间周期内目标应用程序产生的第二埋点对象(上报完成埋点数据的废弃埋点对象)数目较大,所以可以将缓存池中的第二埋点对象的存活周期减小为2小时,这样,无需调整缓存池的容量,缓存池中的第二埋点对象就自然的减少了。

这里,缓存池中的第二埋点对象减少了,缓存池向复用池传输得第二埋点对象也随之减少,还能避免直接调整复用池的容量,提升埋点数据获取的稳定性,对于激增的埋点需求起到一定程度上的缓冲作用。

最后介绍s730。

向电子设备返回目标埋点对象,以便电子设备在目标页面中设置目标埋点对象。

综上,在本公开实施例中,通过响应于电子设备发送的第一请求信息,检测到全局埋点对象池中存在目标埋点对象,从全局埋点对象池中获取目标埋点对象,并向电子设备返回目标埋点对象,以便电子设备在目标页面中设置目标埋点对象。由于全局埋点对象池中存储的是已用于获取埋点数据的埋点对象,这样,就可以循环使用已用于获取埋点数据的埋点对象,提高埋点对象的使用率,减少废弃埋点对象,减少存储空间的占用,提高目标页面所属的应用程序的流畅度,避免应用程序的卡顿产生。

基于上述埋点对象设置方法,本公开还提供了一种埋点对象设置系统,应用于电子设备700和服务器800。具体结合图9进行说明。图9中的步骤包括:

s910,响应于针对目标页面的埋点对象设置请求,确定与埋点对象设置请求对应的目标埋点对象;其中,目标埋点对象用于设置在目标页面中获取对应的埋点数据。

s920,向服务器发送第一请求信息。

s930,响应于第一请求信息,检测到全局埋点对象池中存在目标埋点对象,从全局埋点对象池中获取目标埋点对象。

其中,全局埋点对象池中包括至少一个已用于获取埋点数据的埋点对象。

s940,向电子设备发送目标埋点对象。

s950,响应于埋点对象设置请求,在目标页面中设置目标埋点对象。

其中,上述s910-s950中涉及的步骤及实现方式,在上文图3和图7中的描述中均已涉及,为简介描述,在此不再赘述。

在本公开实施例中,埋点对象设置系统900中的服务器通过响应于电子设备发送的第一请求信息,检测到全局埋点对象池中存在目标埋点对象,从全局埋点对象池中获取目标埋点对象,并向电子设备返回目标埋点对象。然后电子设备接收到目标埋点对象之后就可以在目标页面中设置目标埋点对象。由于全局埋点对象池中存储的是已用于获取埋点数据的埋点对象,这样,就可以采用循环使用已上报埋点数据的废弃埋点对象,提高埋点对象的使用率,减少废弃埋点对象,减少存储空间的占用,提高了应用程序的流畅度,避免应用程序的卡顿产生。

基于上述埋点对象设置方法,本公开还提供了一种埋点数据获取系统。具体结合图10进行说明。该埋点数据获取系统1000包括:

埋点对象获取模块1010,包括复用池1012和埋点对象新建单元1014。埋点对象获取模块1010用于获取埋点对象。

复用池1012,用于存储已用于获取埋点数据的埋点对象。

这里,在复用池中存储有目标埋点对象的情况下,从复用池中获取目标埋点对象并基于目标埋点对象收集目标页面的埋点数据,这样获取的目标埋点对象是从复用池中已用于获取埋点数据的埋点对象中确定的,这样,就可以采用循环使用已用于获取埋点数据的埋点对象,回收利用废弃埋点对象,减少存储空间的占用,避免应用程序卡顿。

埋点对象新建单元1014,用于在缓存池和/或缓存池没有埋点对象的情况下,新建目标埋点对象;基于目标埋点对象收集目标页面的埋点数据。

埋点数据收集模块1020,用于采集埋点数据。

埋点数据收集模块1020,包括埋点数据压缩加密单元1022和埋点数据上报单元1024。

埋点数据压缩加密单元1022,用于对收集到的目标页面的埋点数据进行压缩和加密。

埋点数据上报单元1024,用于对压缩和加密后的埋点数据上报至服务器,上报过埋点数据的埋点对象已经是废弃的埋点对象,即已用于获取埋点数据的埋点对象。

埋点对象回收模块1030包括缓存池1032。

埋点对象回收模块1030,用于回收上报过埋点数据的埋点对象,即已用于获取埋点数据的埋点对象。

缓存池1032,用于存储上报过埋点数据的废弃的埋点对象。当缓存池1032的埋点对象已满,可以直接将多余的部分进行丢弃。

埋点统计模块1040,包括调节单元1042。

埋点统计模块1040,用于根据统计埋点对象的使用情况,以及埋点对象复用池的容量及表现,动态调整复用池1012和缓存池1032的容量,保证目标应用程序的用户体验。

调节单元1042,用于在埋点对象的创建、埋点数据的传输以及收集过程中,统计数据,当复用池1012和缓存池1032的性能需要调整的时候,控制复用池1012和缓存池1032中埋点对象的存活周期。

在本公开实施例中,埋点数据获取系统1000通过从复用池中获取目标埋点对象,然后基于目标埋点对象收集目标页面的埋点数据,由于从复用池中获取的目标埋点对象是从复用池中存储的已用于获取埋点数据的埋点对象(即废弃埋点对象)中确定的,这样,就可以采用循环使用已上报埋点数据的废弃埋点对象,提高埋点对象的使用率,减少废弃埋点对象,减少存储空间的占用,提高了应用程序的流畅度,避免应用程序的卡顿产生。

基于上述埋点对象设置方法,本公开还提供了一种埋点对象设置装置。具体结合图11进行说明。

图11是根据一示例性实施例示出的一种埋点对象设置装置的框图。参照图11,该埋点对象设置装置1100可以包括接收模块1110、确定模块1120、检测模块1130、获取模块1140和设置模块1150。

接收模块1110,被配置为执行接收针对目标页面的埋点对象设置请求。

确定模块1120,被配置为执行确定与埋点对象设置请求对应的目标埋点对象;其中,目标埋点对象用于设置在目标页面中获取对应的埋点数据。

检测模块1130,被配置为执行检测到全局埋点对象池中存在目标埋点对象。

获取模块1140,被配置为执行从全局埋点对象池中获取目标埋点对象;其中,全局埋点对象池中包括至少一个已用于获取埋点数据的埋点对象。

设置模块1150,被配置为执行响应于埋点对象设置请求,在目标页面中设置目标埋点对象。

在本公开实施例中,该埋点对象设置装置1100通过确定针对目标页面的埋点对象设置请求相对应的目标埋点对象,然后在检测到全局埋点对象池中存在目标埋点对象的情况下,从全局埋点对象池中获取目标埋点对象,在目标页面中设置目标埋点对象。由于全局埋点对象池中存储的是已用于获取埋点数据的埋点对象,这样,就可以循环使用已用于获取埋点数据的埋点对象,提高埋点对象的使用率,减少废弃埋点对象,减少存储空间的占用,提高目标页面所属的应用程序的流畅度,避免应用程序的卡顿产生。

在本公开一些实施例中检测模块1130,还被配置为执行检测到全局埋点对象池中不存在目标埋点对象。

相应地,该埋点对象设置装置1100还包括:新建模块,被配置为执行新建目标埋点对象。

在本公开一些实施例中,检测模块1130,还被配置为执行检测到已用于获取埋点数据的埋点对象。

相应地,该埋点对象设置装置1100还包括:存储模块,被配置为执行将已用于获取埋点数据的埋点对象存储于全局埋点对象池。

在本公开一些实施例中,检测模块1130,被进一步配置为执行检测到已用于获取埋点数据的埋点对象。

相应地,该埋点对象设置装置1100还包括:存储模块和传输模块。

该存储模块,被进一步配置为执行将已用于获取埋点数据的埋点对象存储于缓存池。

确定模块1120,被配置为执行根据第一预设时间周期内埋点对象设置请求的数量,从缓存池中确定第一数量的已用于获取埋点数据的埋点对象。

该传输模块,被配置为执行将第一数量的已用于获取埋点数据的埋点对象传输至复用池。

在本公开一些实施例中,检测模块1130,还被配置为执行检测到复用池中存储有目标埋点对象。

获取模块1140,被进一步配置为执行从复用池中获取目标埋点对象。

检测模块1130,还被配置为执行检测到复用池中没有目标埋点对象,检测缓存池中是否存在目标埋点对象。

检测模块1130,还被配置为执行检测到缓存池中存储有目标埋点对象。

获取模块1140,被进一步配置为执行从缓存池中获取目标埋点对象。

在本公开一些实施例中,获取模块1140包括:

发送模块,被配置为执行向服务器发送第一请求信息,第一请求信息用于从服务器的全局埋点对象池中获取目标埋点对象。

接收模块,被配置为执行接收服务器返回的目标埋点对象。

在本公开一些实施例中,检测模块1130,还被配置为执行检测到显示界面包括目标页面所属的目标应用程序的启动页面。

相应地,该埋点对象设置装置1100还包括:

发送模块,被配置为执行向服务器发送第二请求信息,第二请求信息用于从服务器获取第一埋点对象;其中,第一埋点对象用于在接收到针对主程序页面的埋点对象设置请求的情况下,从全局埋点对象池中获取第一埋点对象,主程序页面为启动页面的下一页面。

在本公开一些实施例中,检测模块1130,还被配置为执行检测到显示界面包括目标页面所属的目标应用程序的启动页面。

相应地,该埋点对象设置装置1100还包括:新建模块、存储模块。

该新建模块,还被配置为新建第一埋点对象。

该存储模块,被配置为执行将第一埋点对象存储于全局埋点对象池。

获取模块1140,被配置为执行在接收到针对主程序页面的埋点对象设置请求的情况下,从全局埋点对象池中获取第一埋点对象,主程序页面为启动页面的下一页面。

基于上述埋点对象设置方法,本公开还提供了一种埋点对象设置装置,应用于服务器,具体结合图12进行说明。

图12是根据一示例性实施例示出的一种埋点对象设置装置的框图。参照图12,该埋点对象设置装置1200可以包括接收模块1210、检测模块1220、获取模块1230和返回模块1240。

接收模块1210,被配置为执行接收电子设备发送的第一请求信息,第一请求信息用于从服务器的全局埋点对象池中获取目标埋点对象。

检测模块1220,被配置为执行响应于第一请求信息,检测到全局埋点对象池中存在目标埋点对象。

获取模块1230,被配置为执行从全局埋点对象池中获取目标埋点对象;其中,全局埋点对象池中包括至少一个已用于获取埋点数据的埋点对象。

返回模块1240,被配置为执行向电子设备返回目标埋点对象,以便电子设备在目标页面中设置目标埋点对象。

在本公开实施例中,该埋点对象设置装置通过响应于电子设备发送的第一请求信息,检测到全局埋点对象池中存在目标埋点对象,从全局埋点对象池中获取目标埋点对象,并向电子设备返回目标埋点对象,以便电子设备在目标页面中设置目标埋点对象。由于全局埋点对象池中存储的是已用于获取埋点数据的埋点对象,这样,就可以循环使用已用于获取埋点数据的埋点对象,提高埋点对象的使用率,减少废弃埋点对象,减少存储空间的占用,提高目标页面所属的应用程序的流畅度,避免应用程序的卡顿产生。

在本公开一些实施例中,检测模块1220,还被配置为执行检测到已用于获取埋点数据的埋点对象。

相应地,该埋点对象设置装置1200还包括:

存储模块,被配置为执行将已用于获取埋点数据的埋点对象存储于全局埋点对象池。

在本公开一些实施例中,该埋点对象设置装置1200还包括:

新建模块,被配置为执行响应于电子设备发送的第二请求信息,新建第一埋点对象。

存储模块,被配置为执行将第一埋点对象存储于全局埋点对象池,以用于在接收到针对主程序页面的埋点对象设置请求的情况下,从全局埋点对象池中获取第一埋点对象,主程序页面为启动页面的下一页面。

在本公开一些实施例中,全局埋点对象池包括复用池和缓存池,检测模块1220,还被配置为执行检测到已用于获取埋点数据的埋点对象。

存储模块,还被配置为执行将已用于获取埋点数据的埋点对象存储于缓存池;

相应地,该埋点对象设置装置1200还包括:

确定模块,被配置为执行根据第一预设时间周期内埋点对象设置请求的数量,从缓存池中确定第一数量的已用于获取埋点数据的埋点对象。

传输模块,被配置为执行将第一数量的已用于获取埋点数据的埋点对象传输至复用池。

在本公开一些实施例中,该埋点对象设置装置1200还包括:统计模块和调整模块。

该统计模块,被配置为执行统计缓存池中存储的已用于获取埋点数据的埋点对象的第二数量。

该调整模块,被配置为执行根据第二数量调整缓存池的容量。

在本公开一些实施例中,该埋点对象设置装置1200还包括:收集模块和调整模块。

该收集模块,被配置为执行收集用户与目标页面所属的目标应用程序之间的交互频率信息。

该调整模块,被配置为执行根据交互频率信息,调整复用池的容量。

在本公开一些实施例中,该埋点对象设置装置1200还包括:收集模块和调整模块。

该收集模块,被配置为执行收集第二预设时间周期内目标页面所属的目标应用程序的埋点对象的反馈信息。

该调整模块,被配置为执行根据反馈信息调整缓存池中的已用于获取埋点数据的埋点对象的存活周期;存活周期用于指示在缓存池中的第二埋点对象的存活时间达到存活周期的情况下,丢弃第二埋点对象。其中,反馈信息包括下述中的至少一项:新建的目标埋点对象的数量、从复用池中获取的目标埋点对象的数量、从缓存池中获取的目标埋点对象的数量、复用池容量和缓存池的容量。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

图13是根据一示例性实施例示出的一种服务器的框图。参照图13,本公开实施例还提供了一种服务器,包括处理器1313、通信接口1320、存储器1330和通信总线1340,其中,处理器1313、通信接口1320和存储器1330通过通信总线1340完成相互间的通信。

该存储器1330,用于存放处理器1313可执行的指令。

该处理器1313,用于执行存储器1330上所存放的指令时,实现如下步骤:

接收针对目标页面的埋点对象设置请求,确定与埋点对象设置请求对应的目标埋点对象;其中,目标埋点对象用于设置在目标页面中获取对应的埋点数据;

检测到全局埋点对象池中存在目标埋点对象,从全局埋点对象池中获取目标埋点对象;其中,全局埋点对象池中包括至少一个已用于获取埋点数据的埋点对象;

响应于埋点对象设置请求,在目标页面中设置目标埋点对象。

可见,应用本公开实施例,通过确定针对目标页面的埋点对象设置请求相对应的目标埋点对象,然后在检测到全局埋点对象池中存在目标埋点对象的情况下,从全局埋点对象池中获取目标埋点对象,在目标页面中设置目标埋点对象。由于全局埋点对象池中存储的是已用于获取埋点数据的埋点对象,这样,就可以循环使用已用于获取埋点数据的埋点对象,提高埋点对象的使用率,减少废弃埋点对象,减少存储空间的占用,提高目标页面所属的应用程序的流畅度,避免应用程序的卡顿产生。

图14是根据一示例性实施例示出的用于数据处理的设备的框图。例如,该设备1400可以被提供为一服务器。参照图14,服务器1400包括处理组件1422,其进一步包括一个或多个处理器,以及由存储器1432所代表的存储器资源,用于存储可由处理组件1422的执行的指令,例如应用程序。存储器1432中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1422被配置为执行指令,以执行上述任一实施例所述的埋点对象设置方法。

该设备1400还可以包括一个电源组件1426被配置为执行设备1400的电源管理,一个有线或无线网络接口1450被配置为将设备1400连接到网络,和一个输入输出(i/o)接口1458。设备1400可以操作基于存储在存储器1432的操作系统,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm或类似。

在本公开一些实施例中,还提供了一种存储介质,当该存储介质中的指令由服务器的处理器执行时,使得服务器能够执行上述任一实施例所述的埋点对象设置方法。

可选地,该存储介质可以是非临时性计算机可读存储介质,示例性的,非临时性计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。

在本公开一些实施例中,还提供了一种计算机程序产品,当计算机程序产品中的指令由服务器的处理器执行时,使得服务器能够执行上述任一实施例所述的埋点对象设置方法。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1