作者简介:谢尉灵(1984.04-),男,汉,湖南长沙人,中国人民大学研究生在读,IGT科技开发(北京)有限公司高级软件工程师,研究方向:数据挖掘。
摘要:随着计算机技术全面融入社会生活,信息爆炸已经积累到了一个开始引发变革的程度。由于游戏平台的数据快速处理需求,构建基于分布式+关系数据混合多元的大数据处理架构。针对高价值密度的结构化数据采用关系数据处理;大量无序的非结构化数据采用分布式机制处理。两种类型数据实现有序化后,统一交予传统关系数据库构建关系化模型并展示,既能实现关键经营分析数据的高效处理,又能满足无序的日志数据规模化处理需求。通过剖析其总体架构、主要功能和关键技术,从而为其他业务平台大数据分析建设和改造提供借鉴和参考。
关键词:大数据;游戏平台;数据挖掘
一、引言
为了实现游戏平台的海量数据从碎片化转化为规律化,从无序发展至有序,需要对分布式+关系数据混合多元的大数据处理机制进行架构。基于游戏平台基础采集数据源的海量与无序特征,构建分布式机制进行数据处理,转化无序数据为有序数据;同时规范数据化处理,进一步促使处理速度及展现可靠性的提升,采用关系数据库构建关系化模型并展示,有利于其它业务平台大数据的建设和改造进行参考和借鉴。
二、大数据分析平台架构的设计
淘宝、Google等互联网常见大数据分析平台支撑电子商务与网络搜索等业务,其架构为分布式存储与并行计算相结合,汇聚海量服务器以提升计算能力,从而实现响应规模及处理时效的显著提高[1]。此类平台对海量网站图片与信息等非结构化数据进行处理,具有分布式分片及存储处理等特点。与大数据分析平台相比,游戏平台的海量化程度相对较低,且投入数据分析的服务器数量比较有限。所以,处理和分析大数据时,需要同时兼顾结构化数据处理的时效性与非结构化数据分布式处理能力。
游戏大数据平台的数据处理技术具有多元化特征,兼容分布式计算有利于数据处理能力及处理规模的明显提升[2]。游戏大数据平台的总体架构主要包括数据源采集、数据存储、数据处理及数据可视化与数据服务四层内容。
(一)数据源采集。数据源采集获取原始数据的方式有三3种,即游戏平台侧、销售渠道侧及终端侧。 系统内置有数据采集模块,便于原始数据的采集。1.客户端统计SDK:对用户行为进行采集,用户数据日志通过用户终端侧上传至游戏服务端,由服务端完成对日志的接收。2.渠道数据采集:设计包括新闻、链接等内容在内的内置代码,完成对用户点击、下载等相关数据的收集。3.平台数据收集:用户下载等行为触发游戏平台对应的业务接口,接口生成日志文件并储存在指定目录当中。
(二)数据存储。通过三种渠道对相关数据进行收集,同时依据数据的不同形态,完成对数据非结构化和结构化的分类,并在游戏平台数据资源池中对相关数据进行存储。1.结构化数据:用户和渠道具有二维表结构逻辑表达特性和基本属性的有关数据。2.非机构化数据:用户登录、下载等分时代的碎片化数据。3.文本数据:如游戏内容运行日志等采用文本方式进行存储的数据。
(三)数据处理。结构化汇总、结构化转化、分布式分片处理是数据处理的三个重要部分。其中,分布式分片处理是将无序和混乱的数据按照时间逻辑进行分片处理,由不同的服务器完成对相关数据的分布式处理;结构化转化是将上述方式处理后的数据按照区域、时间等维度转化成结构化数据;结构化汇总是指结构化数据的汇总及延伸数据的计算。
(四)数据可视化与服务。采用图表形式实现大数据的可视化展示,便于向渠道商、内容商提供数据服务。大数据平台的关键点为:构建创新处理机制,使其具有海量数据分析能力的同时满足数据处理的精确要求;基于游戏平台实现海量数据分布式计算的存储及处理;实现数据的可视化展示,以满足对数据分析的需求。
三、游戏数据处理机制的产生
(一)数据源。游戏业务中,手游业务产生的数据与其它游戏业务存在不同差异,其时效性与碎片化比较突出,数据处理对时效的要求较高。1.时效性:手游用户游玩的生命周期一般较短,且游戏内容的更新速度快,所以需要对游戏内容的生命周期进行分析,同时对有关数据进行实时处理。2.碎片化:手游在用户游玩时间及持续时长上具有随机性,突出表现为碎片化特性,实现相关数据的实时采集和处理,是提升海量数据处理效率的关键。
游戏大数据平台的数据源通过客户端及相关渠道获取原始数据,包括变量和常量两大类数据[3]。常量数据在一段时间内保持不变,如渠道编号等,以数据形式对厂商、内容等进行展示,是数据分析及逻辑处理的重要基础;变量数据则包括渠道、内容、用户在内的相关数据。
(二)大数据处理的多元化。游戏内容下载、用户日常登录等碎片化数据一般以零散的日志形式存在,Flume技术用以采集海量数据,Hadoop分布式模式用以处理数据,Oracle技术则用以处理与经营分析相关的关键数据,以满足数据查询和统计的实时与精确化要求。对此,只有采用多元化混搭模式的据处理机制,才能满足大数据平台的上述相关要求。1.数据分类处理:Hadoop分布式处理非机构化数据;Oracle处理结构化数据中高价值密度数据;Hadoop处理结构化数据中低价值密度数据,可促使数据处理效率的有效提升。2.数据交互模式:Hadoop分布式处理低价值密度海量数据及无序数据,之后将有关数据转化为结构化数据,借助Hive技术进行SQL查询数据表的映射,最后由Oracle完成逻辑运算[4]。通过多元化混合制数据的分析与处理,有利于相关数据的全面分析,同时满足了经营分析数据的高效处理及平台精细化运营处理的需求。
四、分布式计算体系及实践
(一)分布式计算体系。分布式计算体系以HDFS为基础,借助HBase和Hadoop架构实现,其具体模块及其作用如下:1.HDFS:实现对分布式文件系统的构建。以时间作为准线形成数据模型,完成对文件的分解和分块,并提交给不同服务器进行处理。2.HBase:分布式存储系统的实现。基于PC服务器,借助HBase技术构建大规模结构化存储集群。3.Hadoop:分布式处理架构的构建。基于不同服务器实现各分块数据的并行计算,提高数据处理速度和效率。4.Storm:降低数据处理的复杂性。支持Java、Ruby等语言,提升数据处理效率。5.Flume:采集海量日志数据。以分布式模式对海量日志进行处理。6.ZooKeeper:一致性服务。ZooKeeper与Flume结合可实现日志数据节点的协同工作。7.API编程:采用HBase API和MapReduce编程架构对分布式数据进行编程处理。8.Hive:结构化处理。借助Hadoop的数据仓库,映射结构化处理后的数据为数据库表,同时提供SQL查询功能。9.Oracle:处理经营分析及分布式处理完成结构化数据。
(二)分布式计算体系的实践。分布式文件体系运用主从结构模型,服务器HDFS的名称节点[5](NameNode)为192.168.80.31,4个数据节点(DataNode)分别为192.168.80.35、192.168.80.33、192.168.80.32及192.168.80.34,实现对分布式文件系统集群的构建。节点192.168.80.31对元数据信息进行管理,统一文件名,依据对应的时间将整体文件戳进数据分块之中,由DataNode进行读写;其余服务器对客户端的文件进行处理和读写,同时借助NameNode的调度,完成数据库相关工作。存储系统方面以HDFS为基础,在HDFS的主节点上进行Hmaster服务器的构建,实现对HRegion服务器的管理。HBase逻辑上的表包括多个区域,并在HRegion服务器群中得以存储。基于四个从节点对HRegion服务器进行构建,其主要对数据处理的I/O请求进行响应,由HDFS完成数据读写工作。服务器内部包括一系列的HRegion对象,每个对象与表中的region相对应,多个HStore共同组成HRegion,且每个HStore与表中的集中存储单元相对应。
五、大数据的可视化展示
大数据分析平台处理后,为了便于对运营的精细化指导,需要以图表化方式进行直观展示。依据处理数据类型的不同,一般分为实时和非实时运营数据两种方式。1.实时运营数据:即当前一段时间内的客户端下载、实时付费及运营数据监控等;通过数据可视化系的运用,借助手持终可直接完成刷新、开关等操作。2.非实时运营数据:即一段时间内数据的规律或趋势;其数据统计分析平台具有拖拽行列、配置动态报表等优势。实时数据根据运营的实时要求,实现对平台运营情况的展示。借助Flume技术对生产日志进行采集,由Storm完成实时统计工作,可获取实时收入或下载量等相关数据。非实时运营数据借助Oracle查询功能对数据表进行分析,由Excel插件技术完成相应图表的展示工作。在转化过程中,对数据需求属性进行分析,通过图标格式的选择可完成对分析和处理效果的展示。
基于对游戏大数据平台的研究与实践,针对游戏难度的设置和推进,实现游戏平衡,以增强玩家对游戏的体验。在游戏关卡的设定中,玩家对困难度的感知应该是不断上升的。如果玩家具备的能力较低,好的游戏体验就会在短暂的休息当中丢失。因此,游戏关卡“挑战—技能”高度平衡的合理设计至关重要。一个平衡的游戏,对玩家是公平的;困难度与难度级别的设定应当一致,而根据对玩家游戏时间、过关程度等有关数据的采集和分析处理,可以在一定的范围内对游戏平衡及难度进行可高可低的设置,但变化不能过于突出。与此同时,为迎合玩家的进步水平,挑战难度的逐步推进及挑战难度的逐级设置也是十分重要的。
结语
游戏大数据平台的构建利用无序数据的分布式处理及结构化数据处理效能的双重优势获得平台的应用及实践,其中实时数据采集及数据存储均有效支撑了业务精细化运营需求,通过数据基础模型的构建,为其它业务平台的数据分析提供了重要的参考依据。(作者单位:中国人民大学)
参考文献:
[1]郑耀东.基于Hadoop的百度游戏数据平台的设计与实现[D].北京交通大学,2014.
[2]尤海浪,钱锋,黄祥为,等.基于大数据挖掘构建游戏平台个性化推荐系统的研究与实践[J].电信科学,2014,30(10):27-32.
[3]刘思远.19wan网络在线游戏平台安全系统的设计与实现[D].电子科技大学,2014.
[4]陈东伟,翁省辉,林洁文,等.基于移动平台的脑电波游戏设计与实现[J].信息技术,2014,10(2):160-162.
[5]王宁.大型在线游戏平台的安全系统的设计与实现[D].华中科技大学,2010.