【.com原稿】电子竞技,作为近几年竞技体育发展最快的一个独特分支多年来,正被社会广泛关注和关注。与其他竞技体育项目一样,电子竞技对数据分析和应用有着独特的需求。在电子竞技赛事中,由于职业选手与业余选手的距离更近,业余选手参与度更高,比赛数据量和数据分析的技术要求较传统体育项目呈指数级增长。本期《大咖·来了》栏目邀请到VPGameCTO余媛媛(Y3)以《从游戏到科学:AI和电子竞技》为主题进行分享,重点讲述如何利用前沿技术对海量电竞数据进行处理、存储和分析。FunData大数据系统中的电竞数据量级远大于传统竞技体育,那么VPGame是用什么技术框架来处理的呢?下面分别介绍FunData大数据系统及其ETL层、接口层、数据处理层等部分的具体细节。如下图所示,FunData大数据系统对于通用的FunData大数据系统架构分为四层:ETL层的作用是数据抽取、清洗、过滤和加载,接口层的作用是为前端产品应用提供服务,数据处理层的作用是通过流计算、批计算等方式提取原始数据,最终得到高可用的摘要和概览数据。存储层的作用是对数据进行分类,选择不同的技术方案进行存储。FunData大数据系统的ETL范式如下图所示,是FunDataETL的整体范式。从厂商数据接口获取的数据源,直播视频或视频文件,通过外部消息队列推送到数据上报模块,内部消息队列通知不同的数据清洗和分析系统,对原始数据进行分类存储,然后一步步通过内部消息队列将这些数据加载或存储到不同的底层存储服务中。FunData大数据系统的接口层如下图所示,是基于Kubernetes的弹性API系统架构。数据应该如何使用?无论是服务于VPGame应用还是第三方应用,都是通过构建在Kubernetes上的API集群来实现的。API系统架构不是静态的。在深化或扩展到其他游戏IP时,会同时进行很多优化。同一款游戏在不同的阶段会提供不同丰富度的API。当然,整个扩张过程必须是顺利的。API系统架构必须具备弹性扩展能力,才能很好地应对游戏过程中API请求的激增。FunData大数据系统的数据处理层数据处理层的挑战在于不同的游戏,甚至同一个游戏的不同场景,数据逻辑是不同的。适应会很困难。下图展示了数据处理层的工作逻辑。VPGame的数据处理逻辑基于Serverless弹性框架,对实时的暴涨数据进行处理和计算。就整个框架而言,对业务方的要求只是把业务逻辑写好,不用担心容量规划。下面是VM系统和Serverless架构的对比图。VM系统与Serverless架构有明显的区别,主要体现在资源利用率、资源虚拟化、计算能力等方面。对于VM系统,当访问量增加时,需要联系运维增加新机器,恢复正常访问后再联系运维减少机器数。对于Serverless架构,可以根据实际请求量和机器状态进行动态分发,由Vfunctions统一管理,无需运维和业务方的介入。此外,随着时间的推移,游戏数据量会激增,热门时期(比赛/节假日)的游戏数量会急剧增加。原有的基于VM处理数据的方式会导致大量数据处理任务堆积,系统压力飙升,部分处理任务超时。,必须手动访问以进行扩展。更改为无服务器架构。Serverless调度器接收到新数据后,随机分配一个worker启动相应的算法容器进行数据处理和抽取。数据处理层也需要面对不同维度、不同层次的数据对实时性的要求不同,对计算处理的资源和时间也有不同的要求。这里,处理模块需要大致分为Hadoop(数据批处理)和Flink(数据流处理)。批量数据一般是全局统计数据,比如本场比赛出现了多少英雄,他们的装备,技能选择等数据。这些数据比较有深度,访问频率比较低,所以对时效性的要求相对不高。.但是单场比赛的基础数据是热点数据,比赛一结束就需要处理。这里就需要一个流处理框架来保证在收到数据后秒级出数据结果。以DOTA2单机游戏个人数据处理为例,详见下图。通过消息队列进来的数据信号就会知道这些ID有新的竞争,然后Filter会过滤掉无效的竞争ID,然后进一步对数据结构进行部分改造,清理掉不需要的字段,写这些处理流进不同的维度算子,最后用Reduce算子做一些聚合。综上所述,关于大数据系统的内容是本次分享的第一部分,接下来是关于FunData海量存储和基于OCR与机器学习的数据识别与挖掘两个精彩部分,视频请戳:http://aix.51cto.com/activity/10021.html【原创稿件,合作网站转载请注明原作者和出处为.com】
