一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种客户端与服务端相结合的埋点系统、方法及存储介质与流程

2022-02-22 06:56:13 来源:中国专利 TAG:


1.本发明涉及互联网数据信息处理技术领域,尤其是涉及一种客户端与服务端相结合的埋点系统、方法及存储介质。


背景技术:

2.用户行为数据采集
──
埋点,是用户行为分析中非常重要的环节,直接决定数据广度、深度、质量,影响后续所有的环节。现有的埋点系统主要是在客户端(网页)或服务端设置埋点,以采集用户行为数据,其中,客户端埋点依赖第三方工具,需要引入第三方提供的js,以进行用户行为的采集;服务端则通过拦截器、过滤器等方式采集用户行为,这两种独立的采集方式均不可避免地会丢失一部分用户行为,降低了用户行为采集的数据质量,而且其埋点数据分析存在延时,后续只能按需查询到原始数据。


技术实现要素:

3.本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种客户端与服务端相结合的埋点系统、方法及存储介质,以提高用户行为采集的数据质量,并能对采集的用户行为进行实时分析。
4.本发明的目的可以通过以下技术方案来实现:一种客户端与服务端相结合的埋点系统,包括埋点系统,所述埋点系统分别与客户端、服务端相连接,所述客户端和服务端分别将采集的用户行为数据传输给埋点系统,所述埋点系统对用户行为数据进行聚合统计处理,并将聚合统计处理后的数据进行存储。
5.进一步地,所述客户端包括h5页面端和web页面端。
6.进一步地,所述埋点系统设置有消息发布模块、数据分析模块和数据存储模块,所述消息发布模块用于将来自客户端或服务端的请求参数转化为消息发布到消息队列;所述数据分析模块从消息队列中获取用户行为数据,以进行聚合统计处理;所述数据存储模块用于存储聚合统计后的用户行为数据。
7.一种客户端与服务端相结合的埋点方法,包括以下步骤:
8.s1、客户端使用原生js方法,并通过http请求调用埋点系统提供的api;
9.服务端对用户行为数据进行采集,并使用http请求调用埋点系统提供的api;
10.s2、埋点系统接收到请求后,将请求参数转化为消息发布到消息队列;
11.s3、根据消息队列,埋点系统对用户行为数据进行聚合统计处理,并将处理后的用户行为数据进行存储;
12.s4、根据设定的定时任务,埋点系统定时推送处理后的用户行为数据。
13.进一步地,所述服务端具体是通过拦截器或者编码方式进行用户行为数据的采集。
14.进一步地,所述请求参数包括用户的唯一标识、用户的行为类型和时间戳。
15.进一步地,所述步骤s3具体包括以下步骤:
16.s31、根据消息队列,结合设定的聚合方式以及统计方式,埋点系统对用户行为数据进行聚合统计处理;
17.s32、将聚合统计处理后的用户行为数据进行实时存储以及数据持久化。
18.进一步地,所述聚合方式具体是按时间聚合,包括:不聚合、按月聚合、按日聚合、按小时聚合;
19.所述统计方式包括按人数统计和按人次统计,其中,按人次统计分为用户维度和站点维度。
20.进一步地,所述数据持久化具体是将上一时间窗口的聚合统计数据,写入关系型数据库并从redis数据库中移除。
21.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现上述的埋点方法。
22.与现有技术相比,本发明具有以下优点:
23.一、本发明利用客户端和服务端分别进行用户行为数据采集,利用埋点系统进行聚合统计分析,能够保证全面采集用户行为数据,且能进行实时的数据分析,从而提高用户行为采集的数据质量。
24.二、本发明中客户端的埋点通过原生js方法实现,服务端的埋点通过http请求实现,无需增加额外依赖,避免了引入新的依赖与原依赖产生不兼容的情况,保证了本发明的易用性。
25.三、本发明中埋点系统的数据处理通过消息队列实现,消息队列“削峰填谷”的特性能够提供高并发能力,并且可以通过对消息队列的消费者进行扩容,以快速解决堆积的消息。
26.四、本发明中埋点系统采用聚合以及统计方式进行数据分析处理,能够实现多维度的数据分析,进一步保证用户行为数据分析的全面性。
附图说明
27.图1为本发明的系统结构示意图;
28.图2为本发明的方法流程示意图。
具体实施方式
29.下面结合附图和具体实施例对本发明进行详细说明。
30.实施例
31.如图1所示,一种客户端与服务端相结合的埋点系统,包括埋点系统,埋点系统分别与客户端、服务端相连接,客户端和服务端分别将采集的用户行为数据传输给埋点系统,埋点系统对用户行为数据进行聚合统计处理,并将聚合统计处理后的数据进行存储。
32.其中,客户端包括h5页面端和web页面端,埋点系统设置有消息发布模块、数据分析模块和数据存储模块,消息发布模块用于将来自客户端或服务端的请求参数转化为消息发布到消息队列;数据分析模块从消息队列中获取用户行为数据,以进行聚合统计处理;数据存储模块用于存储聚合统计后的用户行为数据。
33.将上述系统应用于实际,以实现一种客户端与服务端相结合的埋点方法,如图2所
示,包括以下步骤:
34.s1、客户端使用原生js方法,并通过http请求调用埋点系统提供的api;
35.服务端对用户行为数据进行采集(具体是通过拦截器或者编码方式进行用户行为数据的采集),并使用http请求调用埋点系统提供的api;
36.s2、埋点系统接收到请求后,将请求参数转化为消息发布到消息队列,其中,请求参数包括用户的唯一标识、用户的行为类型和时间戳;
37.s3、根据消息队列,埋点系统对用户行为数据进行聚合统计处理,并将处理后的用户行为数据进行存储,具体的:
38.首先根据消息队列,结合设定的聚合方式以及统计方式,埋点系统对用户行为数据进行聚合统计处理,其中,聚合方式具体是按时间聚合,包括:不聚合、按月聚合、按日聚合、按小时聚合;
39.统计方式包括按人数统计和按人次统计,其中,按人次统计分为用户维度和站点维度;
40.之后将聚合统计处理后的用户行为数据进行实时存储以及数据持久化,数据持久化具体是将上一时间窗口的聚合统计数据,写入关系型数据库并从redis数据库中移除;
41.s4、根据设定的定时任务,埋点系统定时推送处理后的用户行为数据。
42.本实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时,实现上述的埋点方法。
43.综上所述,本发明中,客户端使用原生js方法、通过http请求调用埋点系统提供的api(请求参数为用户的唯一标识、用户的行为类型和时间戳),埋点系统收到客户端的请求后,将请求参数转化为消息发布到消息队列,供数据分析使用;服务端则通过拦截器方式或通过编码方式进行用户行为数据采集,使用http请求调用埋点系统提供的api(请求参数为用户的唯一标识、用户的行为类型和时间戳),埋点系统收到请求后,将请求参数转化为消息发布到消息队列,供数据分析使用。
44.本实施例中,埋点系统在进行数据聚合和统计时,埋点系统获取到用户行为数据之后,使用不同的聚合方式和统计方式,把用户行为数据存储进redis数据库。
45.聚合方式是按时间聚合,分为四种:不聚合、按月聚合、按日聚合、按小时聚合。四种聚合方式会以不同的规则生成redis的key(生成规则见表1,对应为yyyy-mm-dd-hh格式)。埋点系统生成key时,通过请求参数中的行为类型和时间戳生成对应的key,存储进redis中。
46.表1
47.聚合方式key生成规则不聚合event_trace:${行为类型}:yyyy按月聚合event_trace:${行为类型}:yyyy-mm按日聚合event_trace:${行为类型}:yyyy-mm-dd按小时聚合event_trace:${行为类型}:yyyy-mm-dd-hh
48.统计方式分为:按人数统计和按人次统计,其中按人次统计又细分为用户维度和站点维度。其中,站点人次是根据行为类型进行统计,例如:按钮a的总点击次数为x;
49.用户人次是以用户维度的行为类型统计,例如:每个用户点击按钮a的次数,其中
用户α点击了m次,用户β点击了n次,需要通过用户的唯一标识去重后进行计算;
50.人数是根据用户的唯一标识去重后进行统计,例如:点击按钮a的用户有用户α和用户β;
51.这三种统计方式具体的内容如表2所示:
52.表2
[0053][0054]
在实际使用时,还可根据需求采用不同的聚合方式和统计方式组合使用。例如,聚合方式是每日、统计方式是人数,在这种场景下进行分析计算时,redis的key为event_trace:${行为类型}:yyyy-mm-dd:number,value存储采集到的用户唯一标识。
[0055]
为提高数据安全性和降低redis存储压力,将上一时间窗口的统计数据,写入关系型数据库并从redis中移除。通过spring schedule定时执行任务进行数据持久化,具体任务的执行时间见表3。
[0056]
表3
[0057]
聚合方式cron表达式运行时间不聚合0 5 0 1 1?*每年1月1日的00:05:00,处理上一年的数据按月聚合0 5 0 1*?*每月1日的00:05:00,处理上月的数据按日聚合0 5 0**?*每天的00:05:00,处理昨天的数据按小时聚合0 5***?*每小时的05:00,处理一小时前的数据
[0058]
本实施例还能实现数据实时查看功能,比如可登录埋点管理系统,以实时查看聚
合统计后的用户行为的统计数据和统计报表,此外,本实施例还同时支持推送统计报表至指定邮箱:
[0059]
实时查看,即通过埋点管理系统查看,数据来源为redis和关系型数据库;
[0060]
报表推送,使用第三方邮件操作组件jmail,将统计数据与统计报表发送至指定邮箱,发送方式分为:
[0061]
a、登录埋点管理系统人工触发;
[0062]
b、定时推送,通过spring schedule定时任务触发,推送频率在埋点管理系统配置。
[0063]
本发明提出的技术方案,将客户端与服务端相结合,配合埋点系统进行用户行为数据的采集和分析处理,能够有效提升用户行为采集的质量,还能实现实时数据分析、实时推送的功能。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献