数数TA系统埋点结构优化需求
由于我们的数据量过于庞大,导致TA系统现有的服务器集群的计算压力较大,后台个别报表计算速度很慢(单次计算耗时10分钟甚至更高),影响了数据分析的效率。
数数方面针对这个问题在近期登门拜访,就我们当下的埋点结构、上报方式、报表逻辑进行了梳理,指出了几点可优化的问题。
停用在线时长事件,改用用户登出事件监控在线时长
服务器检测到用户离线后,立即上报用户登出事件。同时上报本次登录在线时长。
方案1.取用户登出事件触发的时间与最近一次用户登录的时间进行计算,求得总在线时长
方案2.用户登录后服务器开始计时,到用户登出时上报本次登录的计时结果
事件名
事件显示名
事件说明
属性名
属性显示名
属性类型
属性说明
logout
用户登出
服务器检测到玩家登出游戏时,上报事件
在线时长
数值
本次登录的在线时长
补充用户跨日活跃时,后N日的用户登出、用户登录事件上报
服务器上报用户登出事件时,计算登出日期与最近一次登录日期的天数差N
If 天数差N=0
不进行任何操作,按照默认逻辑上报
If 天数差N>0
设最近一次登录日为第0日,补报第1日至第N日的用户登出、用户登录事件
如上图,按补报逻辑进行数据上报,可以准确的统计用户跨日活跃情况下的在线时长、活跃情况。
将原有产销监控事件下的获得道具、消耗道具事件停用,按道具类别拆分为几个子事件进行上报。减少此类数据查询时的单次计算量。
道具类别脑图详见 [[道具类别]]
道具类别映射表详见道具类别映射表
暂时无法在文档外展示此内容
事件名
事件显示名
事件说明
属性名
属性显示名
属性类型
add_currency
获得货币
获得任意货币时,上报数据
item_id
道具ID
数值
change_num
变动量
数值
change_reason
一级原因
数值
sub_reason
二级原因
字符串
del_currency
消耗货币
消耗任意货币时,上报数据
item_id
道具ID
数值
change_num
变动量
数值
change_reason
一级原因
数值
sub_reason
二级原因
字符串
add_voucher
获得凭证
获得任意凭证时,上报数据
item_id
道具ID
数值
change_num
变动量
数值
change_reason
一级原因
数值
sub_reason
二级原因
字符串
del_voucher
消耗凭证
消耗任意凭证时,上报数据
item_id
道具ID
数值
change_num
变动量
数值
change_reason
一级原因
数值
sub_reason
二级原因
字符串
add_play
获得玩法道具
获得任意玩法道具时,上报数据
item_id
道具ID
数值
change_num
变动量
数值
change_reason
一级原因
数值
sub_reason
二级原因
字符串
del_play
消耗玩法道具
消耗任意玩法道具时,上报数据
item_id
道具ID
数值
change_num
变动量
数值
change_reason
一级原因
数值
sub_reason
二级原因
字符串
add_skin
获得外观
获得任意外观时,上报数据
item_id
道具ID
数值
change_num
变动量
数值
change_reason
一级原因
数值
sub_reason
二级原因
字符串
del_skin
消耗外观
消耗任意外观时,上报数据
item_id
道具ID
数值
change_num
变动量
数值
change_reason
一级原因
数值
sub_reason
二级原因
字符串
add_other
获得其它道具
获得任意其它道具时,上报数据
item_id
道具ID
数值
change_num
变动量
数值
change_reason
一级原因
数值
sub_reason
二级原因
字符串
del_other
消耗其它道具
消耗任意其它道具时,上报数据
item_id
道具ID
数值
change_num
变动量
数值
change_reason
一级原因
数值
sub_reason
二级原因
字符串