作者:陈欣昊,TapTap/IEM/AI平台负责人 。

心动是一家全球游戏开发和发行商,从 2009 年以来提供多款网页游戏和手游。截至 2022 年中,心动运营 38 款免费和付费游戏,目前在全世界拥有 5,000 万月活跃用户,主要分布在大中华地区、东南亚、北美和南美。2016 年,心动推出手机游戏社区和应用商店 TapTap,截至2021财年在全球有 4,400 万月活跃用户。

借助 TapTap ,玩家可以通过官方渠道免费下载手机游戏,或付费购买手机游戏与服务。玩家亦可评价、讨论游戏,在社区中与其他玩家交流。TapTap 也为开发者提供了一套游戏发行服务,并免费提供了一套软件开发工具包,称为「TapSDK」。开发者可以通过 TapSDK 将 TapTap 的好友功能、成就功能等服务集成到自己的游戏中。

不同于传统应用商店的「分成」商业模式,TapTap 自创立开始至今即坚持「零分成」——不会向 TapTap 上架的游戏,收取充值流水的分成。这个模式让游戏厂商可以获得 100% 的流水收入,更有利于行业良性发展,同时也对 TapTap 的商业化提出了更高的要求。在此背景下,TapTap 的商业化目前主要由广告收入驱动。

业务痛点:业务增长缓慢,急需大数据技术反哺

我所在的 TapTap IEM 组全称 Intelligence Engine & Monetization,负责整个 TapTap 的流量资源分配和商业化相关的工作,是先进技术驱动的业务型团队。 TapTap 作为社区型游戏商店,属于典型的多边平台经济模型,涉及到用户、商家以及创作者三方需求的满足,平台的增长很大程度上依赖于这三者的连接效率。

IEM在其中扮演核心角色:以机器学习算法为基础,对 TapTap 各个业务场景进行精细化的建模和优化,驱动业务增长,包括但不仅限于首页的游戏推荐、首页的原生广告、动态内容 feeds 、搜索、内容 C2M 增长、对外广告投放以及 Push 推荐等,核心是以广告变现为主要的盈利模式。

随着新兴的游戏公司崛起,以及公司游戏业务老产品成熟度趋于成熟,APP上游戏的下载量开始下滑,月活用户数也较去年同期有较大幅度下降,最直接的影响就是商业化的营收和利润下滑。为了进一步提升广告营收促进业务增长,于是从2021年开始,公司围绕广告、搜索、推荐等业务引入阿里云大数据和机器学习技术(Hologres+MaxCompute+DataWorks+PAI),成立大数据+AI数据中台,打通TapTap、心动游戏和开发者平台数据,通过大数据技术提升数据的智能化、精细化运营,从而反哺业务高速增长。

在下文中,我将会详细介绍如何通过阿里云大数据技术赋能TapTaP实时推荐等多个场景,助力业务精细化增长。

解决方案:大数据技术架构升级,促进业务实时化、数智化

1、推荐业务需求:高吞吐的在线实时查询

TapTap 的核心业务场景主要包括 App 首页实时个性化推荐、在线搜索、广告精准投放等。其中首页实时推荐增长乏力,因此我们本次大数据的建设核心主要以推荐业务为主。

点击率预估对于搜索、广告、推荐等业务而言,都是最核心的技术之一,可以准确地预估用户在不同场景下对于不同的「商品」的点击、下载以及各种转化概率,对于进一步提高各个业务的转化率、产品的DUA,以及各个场景的渗透率都有很大意义。

在业务一开始,我们团队就定位于打造业界最先进的深度学习模型预估体系,实现技术驱动商业,让用户发现好游戏的愿景。为了达成业务目标,在在产品选型阶段,我们从技术角度分析了目前推荐业务的需求:

1、高效的向量召回服务

向量召回是模型预估系统的第一个阶段,将样本数据通过机器学习训练模型后,根据用户和产品的特点,快速检索出少量用户可能感兴趣的物品,然后进行粗排/精排,这个过程就叫向量召回。这部分要处理的数据量非常大,要求速度快,以及使用的所有策略、模型、特征都不能太复杂。

2、高吞吐的毫秒级实时模型特征查询

我们需要对用户的特征进行快速的查询然后对接推荐引擎,作为线上实时推荐。特征服务需要对接线上系统,流量会非常高,因此一般要求低延迟,上线时间基本在10ms左右。同时对 TapTap 而言,上亿的用户量有着非常大量级的特征,因此系统还需要满足大容量(数亿行,数百列的大表)的存储需求。

3、模型高精度和自动化部署

模型的精确度计算,决定了最终推荐的效果,因此我们需要一款能有着高精度的模型训练框架。同时因为策略不同,我们也会不断修改模型的训练框架和验证效果,以验证出最佳的训练结果,期间需要涉及大量的模型训练,我们也需要模型能够自动化部署,这样能节约很多的开发成本。

基于上诉诉求,在选型阶段我们进行了多方调研,从性能、功能及运维成本多维度对比后,我们选择了阿里云云原生大数据AI一体化解决方案(Hologres+MaxCompute+DataWorks+Flink+PAI),帮助我们业务实现快速增长及商业化。

2、通过阿里云大数据建设的推荐业务

下面是推荐业务的整体架构:

在最初的阶段,我们把所有数据都存放在EMR集群上,同时出于模型开发需要, 我们也引入PAI-TF,PAI-EAS等AI基础设施,借助MaxCompute湖仓一体方案打破数据湖与数据仓库割裂的体系,将绝大部分数据都整体迁移到MaxCompute,使得模型可以直接基MaxCompute中的数据进行大规模分布式深度学习训练。 而Hologres又在特征存储和召回阶段的多个场景中起到了关键作用。其中:

  • MaxCompute主要是离线特征数据以及离线指标存储和处理
  • Flink实时计算实时特征数据
  • 机器学习PAI主要用于模型训练和模型部署
  • Hologres作为统一存储引擎,加速MaxCompute离线数据,以及存储Flink实时写入的数据。并提供OLAP报表分析以及在线推荐查询。
  • DataWorks作为一站式开发平台,所有的周期性调度,数据建模等任务都在DataWorks上进行,并提供数据治理、数据地图等功能,满足日常开发管控需求。

通过阿里云云原生大数据AI一体化解决方案,目前支持了 TapTap 推荐业务的多个业务场景,主要包括:

1、用户召回

通过Hologres的向量计算功能,以一些trigger如用户id,商品id,或者搜索词等, 召回PAI中训练的样本数据,并对接线上系统,以此来完成用户可能感兴趣商品的召回。

2、App首页实时推荐

MaxCompute 中存储离线 MaxCompute 存储离线特征数据,并对接 PAI 进行离线模型训练,训练后的模型数据通过 Hologres 加速查询。Flink 实时计算实时特征数据比如用户最近点击过的N个游戏、该游戏最近N分钟内的平均打分等特征数据,并关联实时生成样本数据写入 Hologres 中存储,以在线服务查询的方式提供给 App 推荐系统,以此完成在线实时推荐。

3、实时报表查询

在 TapTap 多个业务场景中,我们需要观察极为大量的业务指标和线上数据。对于支撑报表的数据服务MaxCompute 来说压力还是比较大的,我们需要查询数据量更大、响应更快的报表加速能力。因此通过 Hologres加速查询 MaxCompute 的数据,对接 QuickBI 报表,以此来满足内部运营对数据快速探索的能力,辅助下一步运营决策。

3、高可用部署保障在线服务读写分离

因为推荐业务对系统的时效性有着非常强的需求,而我们之前将Hologres作为服务的中心,既承担数据存储,又有在线推荐的场景,同时又有报表查询场景的周期性导入以及大 query 查询的场景,当有偶发性大量写入或者大query消耗资源较多时,就会导致线上推荐服务会受到一点的影响,从而影响推荐效果。因此我们采用了 Hologres 的多子实例部署方案。主实例和子实例会共享一份存储,主实例主要用于离线数据导入,实时数据写入以及报表查询,子实例主要用于在线推荐。

通过多子实例的部署,解决了读写相互竞争资源,从而引发在线推荐业务超时的问题,真正的隔离了资源,提高了系统的可用性。

调整前:

调整后:

业务价值:推荐业务成为TapTap游戏分发最大来源

通过Hologres+PAI+Flink+MaxCompute+DataWorks大数据技术加持后, TapTap 多个应用场景包括搜索,推荐,广告等数据变更更加智能化,实时化,其中主要的业务价值有:

1、实时个性化推荐

  • 通过大数据+AI 的加持,App首页的流量从搜索为主转变为推荐为主,提升玩家使用体验,助力客户真正发现好游戏,显著提高了业务营收。
  • 构建了完整的用户画像,通过数据运营的方式,帮助内部开发了解真实用户需求,从而对游戏进行快速迭代以及推陈出新等,实现了正向闭环。
  • 数据写入和查询的效率变得更快,能够实时写入实时查询,加快对数据探索的效率,同时高流量的推荐业务查询毫秒级响应,快速助力业务实时个性化推荐。

2、低成本

  • 在阿里云大数据体系下的深度整合,可以做到用极低的开发成本,机器成本将数据同步到线上直接使用,极大的提高的算法工程人员的开发效率,也减少了大量不必要的开发.
  • 相比我们最早期的特征服务方案,将大规模特征序列化存储Redis, 改用 Hologres 之后,为我们团队带来了极大的效率提升,算法同学基本可以通过一键生成的脚本,快速把数据推到 Hologres ,大幅缩短了上线流程和时间。
  • 自从使用 Hologres 之后,就再没有出现过特征爆存储的问题,这为我们后续迈向更高的DAU,更高的用户量级,都打下来了坚实的技术基础.。

3、在线服务高可用

通过 Hologres 主从实例的部署的方式,让业务实现了写入和线上服务查询隔离,即使是高并发查询也依旧可以保持较低的延迟,为搜索广告在线推荐提供了稳定服务。

Hologres X TapTap:毫秒级实时在线推荐相关推荐

  1. 如何实现一款毫秒级实时数据分析引擎

    本文首发于微信公众号"Shopee技术团队". 业务背景 随着 Shopee 业务不断扩张,为了更加了解用户对产品的行为反馈,更好地决策产品特性,各团队内部涌现出大量数据分析的需求 ...

  2. 第四范式推出业界首个基于持久内存、支持毫秒级恢复的万亿维线上预估系统...

    线上预估服务是AI在企业应用落地的关键环节,企业通常会采用分布式计算架构在内存中完成实时数据处理和高达万亿维的模型特征存储,并通过多集群副本解决传统纯内存(DRAM)天生的易"失" ...

  3. 《科学》重磅:首次实现监测多种神经元间实时毫秒级互动!

    *仅供医学专业人士阅读参考 大脑的复杂之处在于众多神经元之间的协同作用,若能在同一时间显示不同神经元群体的电活动,那么将大大加深我们对于大脑功能的理解. 基因编码的电压指示蛋白(GEVI)是一类在细胞 ...

  4. 1.3 万亿条数据查询,知乎如何做到毫秒级响应?

    (给视学算法加星标,提升数据技能) 作者:孙晓光 http://itindex.net/ 知乎搜索后端负责人,目前承担知乎搜索后端架构设计以及工程团队的管理工作.曾多年从事私有云相关产品开发工作,关注 ...

  5. 好文深思:1.3 万亿条数据查询,如何做到毫秒级响应?

    点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:硬刚一周,3W字总结,一年的经验告诉你如何准备校招! 个人原创100W+访问量博客:点击前往,查看更多 知乎,在 ...

  6. 万亿条数据查询如何做到毫秒级响应?

    点击上方"朱小厮的博客",选择"设为星标" 回复"666"获取公众号专属资料 知乎,在古典中文中意为"你知道吗?",它是 ...

  7. 从(知乎大量的数据上保持毫秒级的查询响应时间)上看什么是 TiDB?

    我们的痛点 系统架构要求 勘探 MySQL Sharding 和 MHA 的缺点 什么是 TiDB? 我们如何使用 TiDB 我们架构中的 TiDB TiDB 的性能指标 我们学到了什么 更快地导入数 ...

  8. 第四十四期:1.3万亿条数据查询如何做到毫秒级响应?

    知乎,在古典中文中意为"你知道吗?",它是中国的 Quora,一个问答网站,其中各种问题由用户社区创建,回答,编辑和组织. 图片来自 Pexels 作为中国最大的知识共享平台,我们 ...

  9. Hologres如何支持亿级用户UV计算

    简介: 本文将介绍阿里云Hologres如何基于RoaringBitmap进行UV等高复杂度计算的方案,实现亿级用户万级标签亚秒级分析,帮助用户从Kylin平滑迁移到Hologres,实现更实时.开发 ...

最新文章

  1. 【PyTorch学习笔记】4:在Tensor上的索引和切片
  2. android学习之旅_01
  3. C++ STL vector(向量)
  4. mpu 配置内存空间_mpu内存保护单元功能及工作原理
  5. C#LeetCode刷题-动态规划
  6. 移动端实时3D目标检测,谷歌开源出品,安卓下载就能用
  7. cnpm安装webpack_快速打造最强 Webpack 前端工具链
  8. android手机禁止休眠_浮窗----手机是否可以一心多用?这个只是开始而已。
  9. HDU4619--Warm up 2
  10. 百度发布全新 NLG 训练模型 ERNIE-GEN,获 5 项 SOTA!
  11. html5界面手机播放mp3
  12. 66岁比尔盖茨突然宣布离婚!27年前与下属恋爱修成正果,现在“无法共同成长”,分割8000亿财产...
  13. Windows下编译DCMTK
  14. 基于JavaWeb的企业出差费用报销管理系统设计与实现
  15. 银企直连ukey 集中管理方案
  16. 影响世界的100个管理定律
  17. 微信自动回复机器人使用教程
  18. FIR versus IIR Butterworth Chebyshev Bessel Filter
  19. 为什么总是封板又打开涨停_股票反复打开涨停是什么原因?
  20. 同大取大同小取小口诀图解_不等式取值口诀

热门文章

  1. 英语学习方法--听力和口语提高
  2. 梦幻西游新资源的提取二
  3. QQ2008将捆绑Silverlight 安装组件
  4. RabbitMQ详解(使用方法步骤详细)
  5. 联想开机按f12之后,选择U盘启动没反应,进不去
  6. Kafka 顺序消费 详解
  7. FFmpeg的远程视频监控系统编解码
  8. 劲舞团连接服务器中断,劲舞团与服务器中断连接的解决办法有哪些?
  9. 计算机之间是如何通信的
  10. 出现net::ERR_CONNECTION_REFUSED问题,前端优化