心动基于阿里云DataWorks构建游戏行业通用大数据模型

本文涉及的产品
大数据开发治理平台 DataWorks,不限时长
简介: 心动游戏在阿里云上构建云原生大数据平台,基于DataWorks构建行业通用大数据模型,如玩家、产品、SDK、事件、发行等,满足各种不同的分析型应用的要求,如AI场景、风控场景、数据分析场景等。

心动游戏在阿里云上构建云原生大数据平台,基于DataWorks构建行业通用大数据模型,如玩家、产品、SDK、事件、发行等,满足各种不同的分析型应用的要求,如AI场景、风控场景、数据分析场景等。

01心动游戏简介

心动创立于 2003年,是一家全球游戏开发和发行商,拥有丰富的研发、发行和代理运营经验。截至 2023 年中,心动运营 49 款免费和付费游戏,在全世界拥有超过 1,300 万月活跃用户,主要分布在大中华地区、东南亚、北美和南美。2016 年,心动推出手机游戏社区和应用商店 TapTap,2023年中,TapTap 在全球有超过 4,000 万月活跃用户。心动于2019年12月12日在香港联合交易所有限公司主板上市,股份代码:02400.HK。

02心动游戏大数据平台架构

数据从生产、存储,到分析、应用,会经历各个处理流程。它们相互关联,形成了整体的大数据架构。

  • 数据采集:应用SLS和Kafka将游戏、社区、系统产生的数据和日志同步到大数据系统中等待下游处理。
  • 数据存储:海量数据通过Flink清洗后同时存储在OSS和Hologres中,等待下游进行处理和查询。
  • 数据处理:原始数据经过层层过滤、拼接、转换形成多层数仓结构,一般来说,离线的批量处理完全由MaxCompute承接,数据开发平台采用与其无缝集成的DataWorks,另一种是实时在线分析有Flink+多重OLAP工具组合实现。
  • 数据应用:经过处理的数据可以对外提供服务,如生成可视化的报表、即席分析和查询、AI模型训练和预测等。

03游戏通用数据模型解析

我们的游戏行业通用大数据架构旨在优化多平台游戏的场景中数据处理和利用的方式。凭借规范的抽象方法,该建模方法为游戏开发者提供了优化游戏性能、提高玩家参与度和最大化收入潜力的强大数据解决方案。通过利用移动游戏中生成的大量数据,我们的模型使开发人员能够快速获得有关玩家行为、偏好和趋势的客观反映和决策。这种数据驱动的方法使开发人员能够在游戏设计、货币化策略和有针对性的营销活动方面做出明智的决策。借助我们的通用大数据模型,开发人员可以实时无缝地收集、处理和分析数据,从而使他们能够快速识别影响游戏各方面的模式和趋势,进而能够及时做出调整,实现个性化体验,并为个人玩家提供量身定制的内容。

逻辑数据模型

逻辑数据模型(Logical Data Model)是一种图形的展示方式,采用面向主题的方法、按照3NF的规则有效组织来源多样的各种业务数据 ,同时采集成了保险、银行及投资等行业复杂的业务规则,支持大量的分析应用。使用统一的逻辑语言描述业务,是数据管理的分析工具和交流的有力手段;同时还能够很好的保证数据的一致性,是实现业务智能(Business Intelligence)的重要基础。 首先,数据模型:快速理解数据的逻辑框架。 在数仓建模中,我们通常按照一些固定的思维模式进行,在传统金融行业、互联网电商行业已经有成熟的方法论落地,对于泛娱乐游戏行业来说,同样需要这样的方法论来指导数据仓库建模的实施,工具上 DataWorks智能数据建模 、等工具已经提供了完备的可视化、可解释化。当我们抽象出了通用的领域建模方法论后,就可以应用在各个游戏的建模中,快速搭建数据仓库、解决数据治理问题。

GS-LBDM-心动游戏通用逻辑数据模型

基于逻辑数据模型按照多平台游戏业务主题领域和第三范式建模规则来组织数据,如玩家、产品、SDK、事件、发行等,基本可以涵盖多平台游戏的主要业务范围和相关数据。企业级数据仓库逻辑数据模型应该是中性的,能够满足各种不同的分析型应用的要求,如AI场景、风控场景、数据分析场景等。 所以经过《火炬之光》、《铃兰之剑》、《T3 Arena》、《香肠派对》等多个游戏的建模落地后,我们抽象了面向多平台游戏的通用逻辑数据模型 —— GS-LBDM。 GS-LBDM(Game Services Logical Big Data Model)的主题域包括六大主题:玩家、产品、事件、发行、工作室、地区 (有些重发行的公司也会把发行拆分成更明确的:发行、运营、渠道)。 深入之前,我们需要区分「模型」在不同层面上的解释:

  • 在具体业务场景下的具象模型,作用是应用数据来解释和解决具体的业务生产问题,如DAU流水预估模型,玩家流失模型,交易行异常交易群体检测模型
  • 在数据分析层面的通用模型,作用是通过组合维度和事实以实现快速的数据呈现,如事件分析,漏斗分析,分布分析等
  • 在数据仓库层面的模型,作用是将无序、杂乱、繁琐、庞大且难以管理的数据,进行结构化有序的管理。使企业中的数据产生更多的价值,将数据价值最大化
  • 工具和系统层面,例如基于指标数据层的画像、基于数据湖的实时明细,基于CUBE的多维数据聚合等这些都是提高数据应用效率、简化数据应用难度的工具,并不向模型做解释

GS-LBDM中,各个主题单独建模,不同主题间交互和联系,分合有序。

玩家    下载并游玩  产品
产品       隶属于 工作室
工作室       拥有 资产和预算
玩家 和 产品 隶属于 地域
产品 产生 事件
发行动作 对应 地域
产品   通过 商店和渠道 对外提供下载
产品 参与 发行
事件 对应 参与者是谁

拆分具体的领域建模方便理解,玩家域的建模思路比较容易被接受,所以拿玩家域举例,有需要其他领域方法论的会在后续更新。玩家域的细分业务过程由四部分构成:玩家获取(Acquisition),玩家活跃(Activation),玩家留存( Retention),玩家付费(Revenue)。以上四部分组成了游戏中完整的用户生命周期的线索,玩家获取关注买量阶段,包括成本和新增;玩家活跃关注用户价值转化趋势,包括启动、时长、以及整体的活跃率等Rate;玩家留存关注用户粘性,包括次留七留十四留月留存等,还要关注社区相关的运营指标;玩家付费是运营收入的最终转化环节,重点关注ARPU、ARPPU、ROI、LTV等。考虑游戏盈利模式分为IAP、IAA、付费下载,在四个业务过程中还有不同侧重。领域之间存在着的关系也要梳理清楚,比如大部分发行域的指标都与玩家域的四个业务过程息息相关,用户获取阶段是游戏的买量期,运营人员通过各种推广渠道(Channel)投放素材、举办线上或线下活动等各种方式获取目标用户。这个阶段数据建模最重要的就是支持通过组合各种维度(如时间、地域、渠道)对各种营销渠道的效果进行评估,从而更加优化合理的确定投入策略,最小化用户获取成本(CAC)。

  • 那么常用原子指标就有:点击用户数(click),安装用户数(install),预约用户数(reserve),注册用户数(regist),在线用户数(login),最高在线(PCU)、平均在线(ACU),活跃用户数(active),日活跃(DAU)、周活跃(WAU)、月活跃(MAU),花费数(cost),曝光量(exposure) 等。
  • 常用的维度就有:时间、地域、版本、语言、是否自然量,用户的有效性,渠道(以及详细的campaign,adset,adgroup等),素材,搜索关键词,来源活动等。

落地工具-阿里云DataWorks数据建模

落地工具我们选用了阿里云DataWorks数据建模,DataWorks智能数据建模产品分为四大板块,分别是数仓规划、数据标准、维度建模和数据指标。其中数仓规划、数据标准和数据指标最终都为维度建模服务。

  • 数仓规划

是数仓的顶层设计,包含分层划域、维度管理、建模空间。从产品定义来讲,这些内部并不复杂。难点在于数仓怎么根据业务场景来划分。其中一个重点功能是可视化的表名检查器配置,检查器用于规范目标分层中表的命名,将同一分层中表名称的命名格式统一,便于通过表名称,即可了解到该表所属的业务类型、作用功能、数据粒度等信息。同时,可以帮助减少后期的运维成本。系统默认创建的数仓分层和自定义新建的数仓分层均可以配置数仓分层检查器。对于建模同学来讲,建模效率会提升且产出的内容符合规范。

  • 数据标准

包含数据标准、标准代码、度量单位、命名词典。数据标准和标准代码设置好之后,可以和模型字段做关联,关联之后模型字段名称、值等都需要符合标准的设置。

  • 数据指标

包含派生指标、原子指标、修饰词、时间周期。这里重点需要说明批量创建指标,勾选构成派生指标的原子指标、修饰词、时间周期,就可以生成一系列派生指标,用于模型设计。指标创建好后有两个作用,一是可以把指标批量导入到模型里面,作为模型的字段存在。另一个是模型字段已经存在,需要跟指标做关联。这样在物化之后可以找到指标对应的是哪个模型。

  • 维度建模

支持正向建模和逆向建模。逆向建模解决的是已有数仓冷启动的问题,主要用于将其他建模工具生成的模型反向建模至DataWorks的维度建模中。正向建模支持可视化建模、excel导入、多语言建模。可视化建模类似网页版excel的方式,把模型字段信息统一管理。在这个过程中,可以复用已经存在的物理表表机构,提升建模效率。多语言建模支持DDL、自研FML方式建模。

  • 落地成果

纵向上,分层为数据引入层、数据公共层和数据应用层。数据引入层(ODS),结构上与源系统基本保持一致,是数据仓库的数据准备区。现实中事件域的ODS层最为丰富。数据公共层(CDM,包含DWD、DIM、DWS),存放明细事实数据、维表数据及公共指标汇总数据。结构上,明细事实数据、维表数据一般根据ODS层数据加工生成,结构有所变化。公共指标汇总数据一般根据维表数据和明细事实数据加工生成,结构和粒度都有所变化。数据应用层(ADS),存放数据产品个性化的统计指标数据,根据CDM层加工生成。横向上,依据GS-LBDM构建了六大数据域,包括玩家、产品、事件、发行、工作室、地区和与之对应的6(n+1)个业务过程,利用数据建模和DataStudio的联动功能实现了建模和开发的一体化。

04总结

最后我们总结下GS-LBDM的优势:

1、继承性

  • 涉及范围广:支撑游戏广泛的业务,如个性化推荐、特征工程、标签服务、高维监控等。

2、灵活性

  • 满足全局分析的需要:多个游戏间数据口径一致,可在各层见平行拉通。
  • 是一个满足第三范式的数据模型,与操作系统、数据库系统和物理平台无关,能够最大限制地控制数据冗余,并保证足够的灵活性。

3、扩展性

  • 在业务改变时,最小化模型的改动,甚至不做任何改动就可以适应这种变化。
  • 物理任务部署更容易寻址进而操作参数、扩展。

4、可实施性

  • 模型产品配备了丰富的说明和文档,包括样本表、实体和属性的定义,业务规则,以及逻辑视图等,实用性和可操作性强,易于复制到其他相同类型游戏。
  • 节省设计时间,降低成本费用。

5、应用中性

  • 不针对特别的应用和功能设计,能最大程度适应将来业务的扩展和变化。



蔡圣哲 心动公司大数据架构师

“心动网络数据量大且丰富,如何更有效地从数据中挖掘价值,更好地服务用户,一直是我们数据中台努力的方向。基于DataWorks的平台能力,实现数据模型快速构建和数据开发能效化,帮助我们大幅度优化了数据处理的全过程,更快的迭代模型以适应纷繁复杂的业务。”

相关实践学习
数据库实验室挑战任务-初级任务
本场景介绍如何开通属于你的免费云数据库,在RDS-MySQL中完成对学生成绩的详情查询,执行指定类型SQL。
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
相关文章
|
1月前
|
存储 大数据 数据处理
PHP 与大数据:构建高效数据处理系统
传统的数据处理系统往往难以应对大规模数据的处理需求,而PHP作为一种常用的服务器端脚本语言,在数据处理方面也有其独特的优势。本文将探讨如何利用PHP构建高效的大数据处理系统,结合实际案例分析其应用场景及优势所在。
20 2
|
3天前
|
弹性计算 自然语言处理 开发工具
基于阿里云向量检索 Milvus 版和 LangChain 快速构建 LLM 问答系统
本文介绍如何通过整合阿里云Milvus、阿里云DashScope Embedding模型与阿里云PAI(EAS)模型服务,构建一个由LLM(大型语言模型)驱动的问题解答应用,并着重演示了如何搭建基于这些技术的RAG对话系统。
|
2天前
|
安全 Devops 测试技术
深入了解阿里云云效DevOps:构建高效软件开发实践
阿里云云效DevOps,集成CI/CD与自动化测试,提升开发效率。支持持续集成确保代码质量,自动化测试加速交付,多环境及灰度发布保障安全可靠性。助团队构建高效开发实践,增强竞争力。
9 1
|
1月前
|
SQL 分布式计算 Hadoop
利用Hive与Hadoop构建大数据仓库:从零到一
【4月更文挑战第7天】本文介绍了如何使用Apache Hive与Hadoop构建大数据仓库。Hadoop的HDFS和YARN提供分布式存储和资源管理,而Hive作为基于Hadoop的数据仓库系统,通过HiveQL简化大数据查询。构建过程包括设置Hadoop集群、安装配置Hive、数据导入与管理、查询分析以及ETL与调度。大数据仓库的应用场景包括海量数据存储、离线分析、数据服务化和数据湖构建,为企业决策和创新提供支持。
83 1
|
1月前
|
人工智能 自然语言处理 监控
通过阿里云向量检索 Milvus 版和通义千问快速构建基于专属知识库的问答系统
本文展示了如何使用阿里云向量检索 Milvus 版和灵积(Dashscope)提供的通用千问大模型能力,快速构建一个基于专属知识库的问答系统。在示例中,我们通过接入灵积的通义千问 API 及文本嵌入(Embedding)API 来实现 LLM 大模型的相关功能。
通过阿里云向量检索 Milvus 版和通义千问快速构建基于专属知识库的问答系统
|
2月前
|
弹性计算 网络协议 关系型数据库
网络技术基础阿里云实验——企业级云上网络构建实践
实验地址:<https://developer.aliyun.com/adc/scenario/65e54c7876324bbe9e1fb18665719179> 本文档指导在阿里云上构建跨地域的网络环境,涉及杭州和北京两个地域。任务包括创建VPC、交换机、ECS实例,配置VPC对等连接,以及设置安全组和网络ACL规则以实现特定服务间的互访。例如,允许北京的研发服务器ECS-DEV访问杭州的文件服务器ECS-FS的SSH服务,ECS-FS访问ECS-WEB01的SSH服务,ECS-WEB01访问ECS-DB01的MySQL服务,并确保ECS-WEB03对外提供HTTP服务。
|
2月前
|
SQL 存储 监控
构建端到端的开源现代数据平台
构建端到端的开源现代数据平台
61 4
|
3天前
|
弹性计算 运维 监控
解密阿里云弹性计算:探索云服务器ECS的核心功能
阿里云ECS是核心计算服务,提供弹性云服务器资源,支持实例按需配置、集群管理和监控,集成安全防护,确保服务稳定、安全,助力高效业务运营。
23 0
|
12天前
|
存储 弹性计算 固态存储
阿里云服务器CPU内存配置详细指南,如何选择合适云服务器配置?
阿里云服务器配置选择涉及CPU、内存、公网带宽和磁盘。个人开发者或中小企业推荐使用轻量应用服务器或ECS经济型e实例,如2核2G3M配置,适合低流量网站。企业用户则应选择企业级独享型ECS,如通用算力型u1、计算型c7或通用型g7,至少2核4G配置,公网带宽建议5M,系统盘可选SSD或ESSD云盘。选择时考虑实际应用需求和性能稳定性。
124 6
|
14天前
|
域名解析 弹性计算 Linux
阿里云购买云服务器、注册域名、备案及绑定图文教程参考
本文为大家介绍了2024年购买阿里云服务器和注册域名,绑定以及备案的教程,适合需要在阿里云购买云服务器、注册域名并备案的用户参考,新手用户可通过此文您了解在从购买云服务器到完成备案的流程。
阿里云购买云服务器、注册域名、备案及绑定图文教程参考

热门文章

最新文章

  • 1
    DataWorks操作报错合集之DataWorksUDF 报错:evaluate for user defined function xxx cannot be loaded from any resources,该怎么处理
    30
  • 2
    DataWorks操作报错合集之DataWorks任务异常 报错: GET_GROUP_SLOT_EXCEPTION 该怎么处理
    24
  • 3
    DataWorks操作报错合集之在DataWorks中,任务流在调度时间到达时停止运行,是什么原因导致的
    31
  • 4
    DataWorks操作报错合集之DataWorks ODPS数据同步后,timesramp遇到时区问题,解决方法是什么
    26
  • 5
    DataWorks操作报错合集之DataWorks配置参数在开发环境进行调度,参数解析不出来,收到了 "Table does not exist" 的错误,该怎么处理
    25
  • 6
    DataWorks操作报错合集之DataWorks中udf开发完后,本地和在MaxCompute的工作区可以执行函数查询,但是在datawork里报错FAILED: ODPS-0130071:[2,5],是什么原因
    26
  • 7
    DataWorks操作报错合集之DataWorks提交失败: 提交节点的源码内容到TSP(代码库)失败:"skynet_packageid is null,该怎么解决
    33
  • 8
    DataWorks操作报错合集之DataWorks集成实例绑定到同一个vpc下面,也添加了RDS的IP白名单报错:数据源配置有误,请检查,该怎么处理
    28
  • 9
    DataWorks操作报错合集之DataWorks在同步mysql时报错Code:[Framework-02],mysql里面有个json类型字段,是什么原因导致的
    30
  • 10
    DataWorks操作报错合集之在 DataWorks 中运行了一个 Hologres 表的任务并完成了执行,但是在 Hologres 表中没有看到数据,该怎么解决
    24
  • 相关产品

  • 大数据开发治理平台 DataWorks