總的來說,游戲數據平臺的工作內容就是圍繞“數據”+“服務”。現在專注獨立運營游戲之后,數據平臺的重要性就更加突出了。但是,目前的各個系統還不能很好地支撐這次業務上的重大轉變,我們需要一個全局的思維來重新規劃整個數據平臺,包括怎么收集和處理數據、怎么更好地對外提供服務等等。
一、從數據的角度來看,數據包括:收集、存儲、分析(挖掘)、展示、提取。兼顧目前的系統,收集、存儲、挖掘、提取,這幾個環節的系統需要加強。特別是收集和提取這塊。
由于歷史的原因,加之沒有系統規劃過,之前的數據收集來源比較零散,這樣導致分析數據時需要從各個地方來同步數據。當業務多了之后,這些亂七八糟的來源就夠讓人頭疼了。這次規劃的一個重點就是,建立一套游戲數據收集系統。游戲分析涉及的數據(日志類)都從這個系統中獲取,不再單獨分析各自的業務數據。業務系統采用數據上報的方式,按照固定的格式來上報數據。例如:登錄、注冊、充值、消耗等等。
采用這套游戲數據收集系統,還有一個重要的原因。現在我們的游戲都是獨立運營游戲(我們是甲方),那么我們就可以采用類似騰訊的辦法,事先定義好數據規范,要求游戲方按照我們的格式上報相關數據給我們。這樣我們的數據分析系統就可以做到非常通用。不管接多少游戲,分析和展示系統都統一。
數據提取,這里主要是指臨時數據。這是我們這邊的一個頑疾。臨時數據其實包括兩個部分:數據來源和數據分析。一個常見的需求就是:分析一堆帳號(數據來源)的后續行為(數據分析)。因為臨時數據的業務規則復雜,并且數據來源千奇百怪,之前采用過全手工、全自動的方式來實現,但是都失敗了。現在想到的一個解決方案就是,基于游戲數據收集系統之上,再開發一個臨時數據分析系統。
游戲數據收集系統統一了數據的來源和格式,方便存儲和提取原始數據。這基本解決了數據來源的問題。臨時數據分析系統,可以事先實現常見的分析邏輯(例如:登錄、留存、保有、付費人數、付費金額、消耗等等),然后采用過濾器模式或包裝器模式來實現。這其實是一個半自動化的方案。系統的用戶是開發人員和產品人員。開發完這套系統應該可以省掉60%以上的臨時數據任務。
另外,只要數據都是來自這套游戲數據收集系統,存儲、分析,包括挖掘都會簡單很多。存儲都會在HDFS上,分析基本都使用Hive,挖掘用Mahout。
游戲數據挖掘是需要單獨發展的一塊業務,特別是現在專注獨立運營之后。目前這塊我們還需要更多的時間來積累經驗。
二、從服務的角度來看,服務包括:服務框架、服務管理、服務監控。
服務也是一個大范疇。服務化框架、頁面登錄服務器、GM接口,這些都屬于服務相關的內容。兼顧目前的系統,這些內容都已經基本實現,這次只是做比較大的版本改進。
(友情提示:本博文章歡迎轉載,但請注明出處:hankchen,http://www.tkk7.com/hankchen)