作者簡介:謝尉靈(1984.04-),男,漢,湖南長沙人,中國人民大學(xué)研究生在讀,IGT科技開發(fā)(北京)有限公司高級軟件工程師,研究方向:數(shù)據(jù)挖掘。
摘要:隨著計算機技術(shù)全面融入社會生活,信息爆炸已經(jīng)積累到了一個開始引發(fā)變革的程度。由于游戲平臺的數(shù)據(jù)快速處理需求,構(gòu)建基于分布式+關(guān)系數(shù)據(jù)混合多元的大數(shù)據(jù)處理架構(gòu)。針對高價值密度的結(jié)構(gòu)化數(shù)據(jù)采用關(guān)系數(shù)據(jù)處理;大量無序的非結(jié)構(gòu)化數(shù)據(jù)采用分布式機制處理。兩種類型數(shù)據(jù)實現(xiàn)有序化后,統(tǒng)一交予傳統(tǒng)關(guān)系數(shù)據(jù)庫構(gòu)建關(guān)系化模型并展示,既能實現(xiàn)關(guān)鍵經(jīng)營分析數(shù)據(jù)的高效處理,又能滿足無序的日志數(shù)據(jù)規(guī)?;幚硇枨?。通過剖析其總體架構(gòu)、主要功能和關(guān)鍵技術(shù),從而為其他業(yè)務(wù)平臺大數(shù)據(jù)分析建設(shè)和改造提供借鑒和參考。
關(guān)鍵詞:大數(shù)據(jù);游戲平臺;數(shù)據(jù)挖掘
一、引言
為了實現(xiàn)游戲平臺的海量數(shù)據(jù)從碎片化轉(zhuǎn)化為規(guī)律化,從無序發(fā)展至有序,需要對分布式+關(guān)系數(shù)據(jù)混合多元的大數(shù)據(jù)處理機制進行架構(gòu)?;谟螒蚱脚_基礎(chǔ)采集數(shù)據(jù)源的海量與無序特征,構(gòu)建分布式機制進行數(shù)據(jù)處理,轉(zhuǎn)化無序數(shù)據(jù)為有序數(shù)據(jù);同時規(guī)范數(shù)據(jù)化處理,進一步促使處理速度及展現(xiàn)可靠性的提升,采用關(guān)系數(shù)據(jù)庫構(gòu)建關(guān)系化模型并展示,有利于其它業(yè)務(wù)平臺大數(shù)據(jù)的建設(shè)和改造進行參考和借鑒。
二、大數(shù)據(jù)分析平臺架構(gòu)的設(shè)計
淘寶、Google等互聯(lián)網(wǎng)常見大數(shù)據(jù)分析平臺支撐電子商務(wù)與網(wǎng)絡(luò)搜索等業(yè)務(wù),其架構(gòu)為分布式存儲與并行計算相結(jié)合,匯聚海量服務(wù)器以提升計算能力,從而實現(xiàn)響應(yīng)規(guī)模及處理時效的顯著提高[1]。此類平臺對海量網(wǎng)站圖片與信息等非結(jié)構(gòu)化數(shù)據(jù)進行處理,具有分布式分片及存儲處理等特點。與大數(shù)據(jù)分析平臺相比,游戲平臺的海量化程度相對較低,且投入數(shù)據(jù)分析的服務(wù)器數(shù)量比較有限。所以,處理和分析大數(shù)據(jù)時,需要同時兼顧結(jié)構(gòu)化數(shù)據(jù)處理的時效性與非結(jié)構(gòu)化數(shù)據(jù)分布式處理能力。
游戲大數(shù)據(jù)平臺的數(shù)據(jù)處理技術(shù)具有多元化特征,兼容分布式計算有利于數(shù)據(jù)處理能力及處理規(guī)模的明顯提升[2]。游戲大數(shù)據(jù)平臺的總體架構(gòu)主要包括數(shù)據(jù)源采集、數(shù)據(jù)存儲、數(shù)據(jù)處理及數(shù)據(jù)可視化與數(shù)據(jù)服務(wù)四層內(nèi)容。
(一)數(shù)據(jù)源采集。數(shù)據(jù)源采集獲取原始數(shù)據(jù)的方式有三3種,即游戲平臺側(cè)、銷售渠道側(cè)及終端側(cè)。 系統(tǒng)內(nèi)置有數(shù)據(jù)采集模塊,便于原始數(shù)據(jù)的采集。1.客戶端統(tǒng)計SDK:對用戶行為進行采集,用戶數(shù)據(jù)日志通過用戶終端側(cè)上傳至游戲服務(wù)端,由服務(wù)端完成對日志的接收。2.渠道數(shù)據(jù)采集:設(shè)計包括新聞、鏈接等內(nèi)容在內(nèi)的內(nèi)置代碼,完成對用戶點擊、下載等相關(guān)數(shù)據(jù)的收集。3.平臺數(shù)據(jù)收集:用戶下載等行為觸發(fā)游戲平臺對應(yīng)的業(yè)務(wù)接口,接口生成日志文件并儲存在指定目錄當中。
(二)數(shù)據(jù)存儲。通過三種渠道對相關(guān)數(shù)據(jù)進行收集,同時依據(jù)數(shù)據(jù)的不同形態(tài),完成對數(shù)據(jù)非結(jié)構(gòu)化和結(jié)構(gòu)化的分類,并在游戲平臺數(shù)據(jù)資源池中對相關(guān)數(shù)據(jù)進行存儲。1.結(jié)構(gòu)化數(shù)據(jù):用戶和渠道具有二維表結(jié)構(gòu)邏輯表達特性和基本屬性的有關(guān)數(shù)據(jù)。2.非機構(gòu)化數(shù)據(jù):用戶登錄、下載等分時代的碎片化數(shù)據(jù)。3.文本數(shù)據(jù):如游戲內(nèi)容運行日志等采用文本方式進行存儲的數(shù)據(jù)。
(三)數(shù)據(jù)處理。結(jié)構(gòu)化匯總、結(jié)構(gòu)化轉(zhuǎn)化、分布式分片處理是數(shù)據(jù)處理的三個重要部分。其中,分布式分片處理是將無序和混亂的數(shù)據(jù)按照時間邏輯進行分片處理,由不同的服務(wù)器完成對相關(guān)數(shù)據(jù)的分布式處理;結(jié)構(gòu)化轉(zhuǎn)化是將上述方式處理后的數(shù)據(jù)按照區(qū)域、時間等維度轉(zhuǎn)化成結(jié)構(gòu)化數(shù)據(jù);結(jié)構(gòu)化匯總是指結(jié)構(gòu)化數(shù)據(jù)的匯總及延伸數(shù)據(jù)的計算。
(四)數(shù)據(jù)可視化與服務(wù)。采用圖表形式實現(xiàn)大數(shù)據(jù)的可視化展示,便于向渠道商、內(nèi)容商提供數(shù)據(jù)服務(wù)。大數(shù)據(jù)平臺的關(guān)鍵點為:構(gòu)建創(chuàng)新處理機制,使其具有海量數(shù)據(jù)分析能力的同時滿足數(shù)據(jù)處理的精確要求;基于游戲平臺實現(xiàn)海量數(shù)據(jù)分布式計算的存儲及處理;實現(xiàn)數(shù)據(jù)的可視化展示,以滿足對數(shù)據(jù)分析的需求。
三、游戲數(shù)據(jù)處理機制的產(chǎn)生
(一)數(shù)據(jù)源。游戲業(yè)務(wù)中,手游業(yè)務(wù)產(chǎn)生的數(shù)據(jù)與其它游戲業(yè)務(wù)存在不同差異,其時效性與碎片化比較突出,數(shù)據(jù)處理對時效的要求較高。1.時效性:手游用戶游玩的生命周期一般較短,且游戲內(nèi)容的更新速度快,所以需要對游戲內(nèi)容的生命周期進行分析,同時對有關(guān)數(shù)據(jù)進行實時處理。2.碎片化:手游在用戶游玩時間及持續(xù)時長上具有隨機性,突出表現(xiàn)為碎片化特性,實現(xiàn)相關(guān)數(shù)據(jù)的實時采集和處理,是提升海量數(shù)據(jù)處理效率的關(guān)鍵。
游戲大數(shù)據(jù)平臺的數(shù)據(jù)源通過客戶端及相關(guān)渠道獲取原始數(shù)據(jù),包括變量和常量兩大類數(shù)據(jù)[3]。常量數(shù)據(jù)在一段時間內(nèi)保持不變,如渠道編號等,以數(shù)據(jù)形式對廠商、內(nèi)容等進行展示,是數(shù)據(jù)分析及邏輯處理的重要基礎(chǔ);變量數(shù)據(jù)則包括渠道、內(nèi)容、用戶在內(nèi)的相關(guān)數(shù)據(jù)。
(二)大數(shù)據(jù)處理的多元化。游戲內(nèi)容下載、用戶日常登錄等碎片化數(shù)據(jù)一般以零散的日志形式存在,F(xiàn)lume技術(shù)用以采集海量數(shù)據(jù),Hadoop分布式模式用以處理數(shù)據(jù),Oracle技術(shù)則用以處理與經(jīng)營分析相關(guān)的關(guān)鍵數(shù)據(jù),以滿足數(shù)據(jù)查詢和統(tǒng)計的實時與精確化要求。對此,只有采用多元化混搭模式的據(jù)處理機制,才能滿足大數(shù)據(jù)平臺的上述相關(guān)要求。1.數(shù)據(jù)分類處理:Hadoop分布式處理非機構(gòu)化數(shù)據(jù);Oracle處理結(jié)構(gòu)化數(shù)據(jù)中高價值密度數(shù)據(jù);Hadoop處理結(jié)構(gòu)化數(shù)據(jù)中低價值密度數(shù)據(jù),可促使數(shù)據(jù)處理效率的有效提升。2.數(shù)據(jù)交互模式:Hadoop分布式處理低價值密度海量數(shù)據(jù)及無序數(shù)據(jù),之后將有關(guān)數(shù)據(jù)轉(zhuǎn)化為結(jié)構(gòu)化數(shù)據(jù),借助Hive技術(shù)進行SQL查詢數(shù)據(jù)表的映射,最后由Oracle完成邏輯運算[4]。通過多元化混合制數(shù)據(jù)的分析與處理,有利于相關(guān)數(shù)據(jù)的全面分析,同時滿足了經(jīng)營分析數(shù)據(jù)的高效處理及平臺精細化運營處理的需求。
四、分布式計算體系及實踐
(一)分布式計算體系。分布式計算體系以HDFS為基礎(chǔ),借助HBase和Hadoop架構(gòu)實現(xiàn),其具體模塊及其作用如下:1.HDFS:實現(xiàn)對分布式文件系統(tǒng)的構(gòu)建。以時間作為準線形成數(shù)據(jù)模型,完成對文件的分解和分塊,并提交給不同服務(wù)器進行處理。2.HBase:分布式存儲系統(tǒng)的實現(xiàn)?;赑C服務(wù)器,借助HBase技術(shù)構(gòu)建大規(guī)模結(jié)構(gòu)化存儲集群。3.Hadoop:分布式處理架構(gòu)的構(gòu)建。基于不同服務(wù)器實現(xiàn)各分塊數(shù)據(jù)的并行計算,提高數(shù)據(jù)處理速度和效率。4.Storm:降低數(shù)據(jù)處理的復(fù)雜性。支持Java、Ruby等語言,提升數(shù)據(jù)處理效率。5.Flume:采集海量日志數(shù)據(jù)。以分布式模式對海量日志進行處理。6.ZooKeeper:一致性服務(wù)。ZooKeeper與Flume結(jié)合可實現(xiàn)日志數(shù)據(jù)節(jié)點的協(xié)同工作。7.API編程:采用HBase API和MapReduce編程架構(gòu)對分布式數(shù)據(jù)進行編程處理。8.Hive:結(jié)構(gòu)化處理。借助Hadoop的數(shù)據(jù)倉庫,映射結(jié)構(gòu)化處理后的數(shù)據(jù)為數(shù)據(jù)庫表,同時提供SQL查詢功能。9.Oracle:處理經(jīng)營分析及分布式處理完成結(jié)構(gòu)化數(shù)據(jù)。
(二)分布式計算體系的實踐。分布式文件體系運用主從結(jié)構(gòu)模型,服務(wù)器HDFS的名稱節(jié)點[5](NameNode)為192.168.80.31,4個數(shù)據(jù)節(jié)點(DataNode)分別為192.168.80.35、192.168.80.33、192.168.80.32及192.168.80.34,實現(xiàn)對分布式文件系統(tǒng)集群的構(gòu)建。節(jié)點192.168.80.31對元數(shù)據(jù)信息進行管理,統(tǒng)一文件名,依據(jù)對應(yīng)的時間將整體文件戳進數(shù)據(jù)分塊之中,由DataNode進行讀寫;其余服務(wù)器對客戶端的文件進行處理和讀寫,同時借助NameNode的調(diào)度,完成數(shù)據(jù)庫相關(guān)工作。存儲系統(tǒng)方面以HDFS為基礎(chǔ),在HDFS的主節(jié)點上進行Hmaster服務(wù)器的構(gòu)建,實現(xiàn)對HRegion服務(wù)器的管理。HBase邏輯上的表包括多個區(qū)域,并在HRegion服務(wù)器群中得以存儲?;谒膫€從節(jié)點對HRegion服務(wù)器進行構(gòu)建,其主要對數(shù)據(jù)處理的I/O請求進行響應(yīng),由HDFS完成數(shù)據(jù)讀寫工作。服務(wù)器內(nèi)部包括一系列的HRegion對象,每個對象與表中的region相對應(yīng),多個HStore共同組成HRegion,且每個HStore與表中的集中存儲單元相對應(yīng)。
五、大數(shù)據(jù)的可視化展示
大數(shù)據(jù)分析平臺處理后,為了便于對運營的精細化指導(dǎo),需要以圖表化方式進行直觀展示。依據(jù)處理數(shù)據(jù)類型的不同,一般分為實時和非實時運營數(shù)據(jù)兩種方式。1.實時運營數(shù)據(jù):即當前一段時間內(nèi)的客戶端下載、實時付費及運營數(shù)據(jù)監(jiān)控等;通過數(shù)據(jù)可視化系的運用,借助手持終可直接完成刷新、開關(guān)等操作。2.非實時運營數(shù)據(jù):即一段時間內(nèi)數(shù)據(jù)的規(guī)律或趨勢;其數(shù)據(jù)統(tǒng)計分析平臺具有拖拽行列、配置動態(tài)報表等優(yōu)勢。實時數(shù)據(jù)根據(jù)運營的實時要求,實現(xiàn)對平臺運營情況的展示。借助Flume技術(shù)對生產(chǎn)日志進行采集,由Storm完成實時統(tǒng)計工作,可獲取實時收入或下載量等相關(guān)數(shù)據(jù)。非實時運營數(shù)據(jù)借助Oracle查詢功能對數(shù)據(jù)表進行分析,由Excel插件技術(shù)完成相應(yīng)圖表的展示工作。在轉(zhuǎn)化過程中,對數(shù)據(jù)需求屬性進行分析,通過圖標格式的選擇可完成對分析和處理效果的展示。
基于對游戲大數(shù)據(jù)平臺的研究與實踐,針對游戲難度的設(shè)置和推進,實現(xiàn)游戲平衡,以增強玩家對游戲的體驗。在游戲關(guān)卡的設(shè)定中,玩家對困難度的感知應(yīng)該是不斷上升的。如果玩家具備的能力較低,好的游戲體驗就會在短暫的休息當中丟失。因此,游戲關(guān)卡“挑戰(zhàn)—技能”高度平衡的合理設(shè)計至關(guān)重要。一個平衡的游戲,對玩家是公平的;困難度與難度級別的設(shè)定應(yīng)當一致,而根據(jù)對玩家游戲時間、過關(guān)程度等有關(guān)數(shù)據(jù)的采集和分析處理,可以在一定的范圍內(nèi)對游戲平衡及難度進行可高可低的設(shè)置,但變化不能過于突出。與此同時,為迎合玩家的進步水平,挑戰(zhàn)難度的逐步推進及挑戰(zhàn)難度的逐級設(shè)置也是十分重要的。
結(jié)語
游戲大數(shù)據(jù)平臺的構(gòu)建利用無序數(shù)據(jù)的分布式處理及結(jié)構(gòu)化數(shù)據(jù)處理效能的雙重優(yōu)勢獲得平臺的應(yīng)用及實踐,其中實時數(shù)據(jù)采集及數(shù)據(jù)存儲均有效支撐了業(yè)務(wù)精細化運營需求,通過數(shù)據(jù)基礎(chǔ)模型的構(gòu)建,為其它業(yè)務(wù)平臺的數(shù)據(jù)分析提供了重要的參考依據(jù)。(作者單位:中國人民大學(xué))
參考文獻:
[1]鄭耀東.基于Hadoop的百度游戲數(shù)據(jù)平臺的設(shè)計與實現(xiàn)[D].北京交通大學(xué),2014.
[2]尤海浪,錢鋒,黃祥為,等.基于大數(shù)據(jù)挖掘構(gòu)建游戲平臺個性化推薦系統(tǒng)的研究與實踐[J].電信科學(xué),2014,30(10):27-32.
[3]劉思遠.19wan網(wǎng)絡(luò)在線游戲平臺安全系統(tǒng)的設(shè)計與實現(xiàn)[D].電子科技大學(xué),2014.
[4]陳東偉,翁省輝,林潔文,等.基于移動平臺的腦電波游戲設(shè)計與實現(xiàn)[J].信息技術(shù),2014,10(2):160-162.
[5]王寧.大型在線游戲平臺的安全系統(tǒng)的設(shè)計與實現(xiàn)[D].華中科技大學(xué),2010.