游戏日志分析准备:如何对游戏业务日志关联云数据库Redis做富化加工

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
日志服务 SLS,月写入数据量 50GB 1个月
简介: 随着移动互联网的发展,游戏几乎是进入快餐式消费时代,游戏公司也会面临方方面面的挑战,为了获得最佳的游戏运营方案,游戏公司希望将用户游戏日志与用户元数据进行联合分析。

背景

随着移动互联网的发展,游戏几乎是进入快餐式消费时代,游戏公司也会面临方方面面的挑战,为了获得最佳的游戏运营方案,游戏公司希望将用户游戏日志与用户元数据进行联合分析。

对一个大型游戏而言,游戏日志是海量的并且需要实时分析,而SLS正好可以满足这一要求,所以可以将游戏日志采集到SLS的logstore中。由于用户信息访问频率高,但更新频率较低,加上redis本身就支持持久化存储,所以一般使用Redis来存储用户元数据。

SLS简介

日志服务(Log Service,简称SLS)是云原生观测与分析平台,为Log、Metric、Trace等数据提供大规模、低成本、实时的平台化服务。日志服务一站式提供数据采集、加工、查询与分析、可视化、告警、消费与投递等功能,全面提升您在研发、运维、运营、安全等场景的数字化能力。

数据加工服务是阿里云SLS推出的面向日志ETL处理的服务,主要解决数据加工过程中转换、过滤、分发、富化等场景。数据加工DSL是专门为日志实时行处理定制的一套语言(Python语法子集),目前已经提供200+ 内置函数来简化数据加工模式。

场景应用

SLS通过对游戏日志的加工富化,从而帮忙企业修复用户数据、定位系统异常、帮助运维等。下面通过一个实例说明数据加工DSL中的e_redis_map函数如何对用户游戏日志进行数据富化。

案例实践

Logstore采集日志

  • 如何将日志采集到日志服务,可以使用ilogtail采集,这里就不再多说,这里举一个采集到的实例,如下:

  • 日志包括用户ID、用户名、操作、点击位置、用户IP等信息。由于采集到的是一串json格式的字符串,不便于后续处理,这里可以使用数据加工DSL的语句,首先对数据进行简单的转换,使用加工语句:

e_json("data", fmt="parent")

# 丢弃原字段

e_drop_fields("data", regex=False)

  • 加工后的日志就变成:

云数据库Redis中的用户元数据

  • 首先需要创建云数据库Redis,参考云数据库 Redis创建实例,创建成功以后,插入用户元数据至数据库中,字段是用户ID,value值包含用户的性别、注册时间、地区等等,如下:

userId

value

9022

"sex": "female",

  "registration": 948354751,

"region":shanghai

}

9098

{

  "sex": "male",

  "registration": 1292831551,

"region":nanjing

}

10112

{

  "sex": "male",

  "registration": 1354428586,

"region":hangzhou

}

数据加工

使用数据加工DSL的e_redis_map函数,通过Logstore日志中的用户ID字段对应的字段值(即data.userID的值),在用户元数据表(实例名r-bp1***)中查找该值对应的value,查到的结果作为字段“detail”的字段值,如下:

e_redis_map('data.userID', "detail",

           "r-bp1***.redis.rds.aliyuncs.com", port=redis-port, db=0,

           username=redis-username, password=redis-password)

加工结果

经过数据加工处理后,结果Logstore中的日志包含原始日志中的用户行为字段及个人信息,如下:


其他参考:

1、数据加工文档:https://help.aliyun.com/document_detail/125384.html

2、e_redis_map函数使用指南:https://help.aliyun.com/document_detail/125489.html#section-a4e-tmh-o1s

3、云数据库Redis文档:https://help.aliyun.com/document_detail/26351.html

3、3、

3

26gt%3B%26lt%3Bdiv%20class%3D%26quot%3Blake-content%26qu33ot%3B%26gt%3B%26lt%3Bimg%20src%3D%26quot%3Bhttps%3A%2F%2Fucc.alicdn.com%2Fimages%2Flark%2F0%2F2022%2Fpng%2F56156506%2F1669880189796-3d295f24-c222-402e-bc57-

ce%3Dwrap%3Bhtml%3D1%3B%22%20vertex%3D%221%22%20parent%3D%221%22%3E%3CmxGeometry%20x%3D%22-572%22%20y%3D%22307%22%20width%3D%22385%22%20height%3D%227%22%20as%3D%22geometry%22%2F%3E%3C%2FmxCell%3E%3C%2Froot%3E%3C%2FmxGraphModel%3E

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
15天前
|
XML 安全 Java
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
本文介绍了Java日志框架的基本概念和使用方法,重点讨论了SLF4J、Log4j、Logback和Log4j2之间的关系及其性能对比。SLF4J作为一个日志抽象层,允许开发者使用统一的日志接口,而Log4j、Logback和Log4j2则是具体的日志实现框架。Log4j2在性能上优于Logback,推荐在新项目中使用。文章还详细说明了如何在Spring Boot项目中配置Log4j2和Logback,以及如何使用Lombok简化日志记录。最后,提供了一些日志配置的最佳实践,包括滚动日志、统一日志格式和提高日志性能的方法。
128 30
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
|
1月前
|
XML JSON Java
Logback 与 log4j2 性能对比:谁才是日志框架的性能王者?
【10月更文挑战第5天】在Java开发中,日志框架是不可或缺的工具,它们帮助我们记录系统运行时的信息、警告和错误,对于开发人员来说至关重要。在众多日志框架中,Logback和log4j2以其卓越的性能和丰富的功能脱颖而出,成为开发者们的首选。本文将深入探讨Logback与log4j2在性能方面的对比,通过详细的分析和实例,帮助大家理解两者之间的性能差异,以便在实际项目中做出更明智的选择。
232 3
|
10天前
|
存储 人工智能 关系型数据库
拥抱Data+AI|玩家去哪儿了?解码Data+AI如何助力游戏日志智能分析
本文为阿里云瑶池数据库「拥抱Data+AI」系列连载第2篇,基于真实客户案例和最佳实践,探讨如何利用阿里云Data+AI解决方案应对游戏行业挑战,通过AI为游戏行业注入新的活力。文章详细介绍了日志数据的实时接入、高效查询、开源开放及AI场景落地,展示了完整的Data+AI解决方案及其实际应用效果。
|
11天前
|
存储 人工智能 关系型数据库
拥抱Data+AI|玩家去哪儿了?解码Data+AI如何助力游戏日志智能分析
「拥抱Data+AI」系列第2篇:阿里云DMS+AnalyticDB助力游戏日志数据分析与预测
拥抱Data+AI|玩家去哪儿了?解码Data+AI如何助力游戏日志智能分析
|
1月前
|
存储 缓存 关系型数据库
MySQL事务日志-Redo Log工作原理分析
事务的隔离性和原子性分别通过锁和事务日志实现,而持久性则依赖于事务日志中的`Redo Log`。在MySQL中,`Redo Log`确保已提交事务的数据能持久保存,即使系统崩溃也能通过重做日志恢复数据。其工作原理是记录数据在内存中的更改,待事务提交时写入磁盘。此外,`Redo Log`采用简单的物理日志格式和高效的顺序IO,确保快速提交。通过不同的落盘策略,可在性能和安全性之间做出权衡。
1637 14
|
1月前
|
存储 Prometheus NoSQL
大数据-44 Redis 慢查询日志 监视器 慢查询测试学习
大数据-44 Redis 慢查询日志 监视器 慢查询测试学习
25 3
|
1月前
|
NoSQL 数据管理 关系型数据库
利用阿里云的尖端数据库解决方案增强游戏数据管理
利用阿里云的尖端数据库解决方案增强游戏数据管理
|
1月前
|
Python
log日志学习
【10月更文挑战第9天】 python处理log打印模块log的使用和介绍
34 0
|
2月前
|
监控
莉莉丝-游戏用户日志分析
莉莉丝游戏用户日志分析案例图
|
1月前
|
数据可视化
Tensorboard可视化学习笔记(一):如何可视化通过网页查看log日志
关于如何使用TensorBoard进行数据可视化的教程,包括TensorBoard的安装、配置环境变量、将数据写入TensorBoard、启动TensorBoard以及如何通过网页查看日志文件。
200 0

热门文章

最新文章