热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

关于后端:Hologres-X-TapTap毫秒级实时在线推荐

心动是一家寰球游戏开发和发行商,从2009年以来提供多款网页游戏和手游。截至2022年中,心动经营38款收费和付费游戏,目前在全世界领有5,000万月沉闷

作者:陈欣昊,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 主从实例的部署的形式,让业务实现了写入和线上服务查问隔离,即便是高并发查问也仍旧能够放弃较低的提早,为搜寻广告在线举荐提供了稳固服务。


推荐阅读
  • 关于我们EMQ是一家全球领先的开源物联网基础设施软件供应商,服务新产业周期的IoT&5G、边缘计算与云计算市场,交付全球领先的开源物联网消息服务器和流处理数据 ... [详细]
  • 浏览器中的异常检测算法及其在深度学习中的应用
    本文介绍了在浏览器中进行异常检测的算法,包括统计学方法和机器学习方法,并探讨了异常检测在深度学习中的应用。异常检测在金融领域的信用卡欺诈、企业安全领域的非法入侵、IT运维中的设备维护时间点预测等方面具有广泛的应用。通过使用TensorFlow.js进行异常检测,可以实现对单变量和多变量异常的检测。统计学方法通过估计数据的分布概率来计算数据点的异常概率,而机器学习方法则通过训练数据来建立异常检测模型。 ... [详细]
  • 云原生应用最佳开发实践之十二原则(12factor)
    目录简介一、基准代码二、依赖三、配置四、后端配置五、构建、发布、运行六、进程七、端口绑定八、并发九、易处理十、开发与线上环境等价十一、日志十二、进程管理当 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • t-io 2.0.0发布-法网天眼第一版的回顾和更新说明
    本文回顾了t-io 1.x版本的工程结构和性能数据,并介绍了t-io在码云上的成绩和用户反馈。同时,还提到了@openSeLi同学发布的t-io 30W长连接并发压力测试报告。最后,详细介绍了t-io 2.0.0版本的更新内容,包括更简洁的使用方式和内置的httpsession功能。 ... [详细]
  • Redis底层数据结构之压缩列表的介绍及实现原理
    本文介绍了Redis底层数据结构之压缩列表的概念、实现原理以及使用场景。压缩列表是Redis为了节约内存而开发的一种顺序数据结构,由特殊编码的连续内存块组成。文章详细解释了压缩列表的构成和各个属性的含义,以及如何通过指针来计算表尾节点的地址。压缩列表适用于列表键和哈希键中只包含少量小整数值和短字符串的情况。通过使用压缩列表,可以有效减少内存占用,提升Redis的性能。 ... [详细]
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了软件测试知识点之数据库压力测试方法小结相关的知识,希望对你有一定的参考价值。 ... [详细]
  • linux进阶50——无锁CAS
    1.概念比较并交换(compareandswap,CAS),是原⼦操作的⼀种,可⽤于在多线程编程中实现不被打断的数据交换操作࿰ ... [详细]
  • 深入理解线程、进程、多线程、线程池
    本文以QT的方式来走进线程池的应用、线程、进程、线程池、线程锁、互斥量、信号量、线程同步等的详解,一文让你小白变大神!为什么要使用多线程、线程锁、互斥量、信号量?为什么需要线程 ... [详细]
  • 像跟踪分布式服务调用那样跟踪Go函数调用链 | Gopher Daily (2020.12.07) ʕ◔ϖ◔ʔ
    每日一谚:“Acacheisjustamemoryleakyouhaven’tmetyet.”—Mr.RogersGo技术专栏“改善Go语⾔编程质量的50个有效实践” ... [详细]
  • 【论文】ICLR 2020 九篇满分论文!!!
    点击上方,选择星标或置顶,每天给你送干货!阅读大概需要11分钟跟随小博主,每天进步一丢丢来自:深度学习技术前沿 ... [详细]
  • 基于分布式锁的防止重复请求解决方案
    一、前言关于重复请求,指的是我们服务端接收到很短的时间内的多个相同内容的重复请求。而这样的重复请求如果是幂等的(每次请求的结果都相同,如查 ... [详细]
  • 支持向量机训练集多少个_25道题检测你对支持向量机算法的掌握程度
    介绍在我们学习机器算法的时候,可以将机器学习算法视为包含刀枪剑戟斧钺钩叉的一个军械库。你可以使用各种各样的兵器,但你要明白这些兵器是需要在合适的时间合理 ... [详细]
  • 本人学习笔记,知识点均摘自于网络,用于学习和交流(如未注明出处,请提醒,将及时更正,谢谢)OS:我学习是为了上 ... [详细]
author-avatar
手机用户2502862581
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有