我是一名視頻遊戲開發人員,我使用Parse.com來開發我的遊戲。多虧了它,我可以節省球員分數和比賽時間。在每場比賽結束時,我會顯示社區統計信息,讓玩家看到他的分數在社區分數中的位置。Parse.com:從大量數據中生成統計數據
東西看起來像這樣:
由於我沒有後端專家,因爲我雖然我的迷你遊戲,一個永遠不會需要處理的數據數量較大,我天真地計算使用這些統計數據一個雲代碼(由Parse.com提供的功能)將每個得分條目分組並生成一個由40分組成的圖表。
到目前爲止,我提取從Parse.com數據庫中的每個分數和提取以下數據:
- MAX_SCORE(INT):該組中的最高分;
- points(string):從0到1的40個點,用逗號分隔,描述實際圖表; entry_count(int):數據庫中條目的數量;
- medium(float):集合的中等分數;
編輯
點串是這裏最重要的。這是一個字符串,如下所示:
0.4147,0.286,0.2179,0.1463,0.1106,0.0819,0.0676,0.0458,0.0363,0.0264,0.0206,0.014,0.0096,0.008,0.0063,0.0042,0.0027,0.0025,0.0018,0.0013,0.0008,0.0008,0.0004,0.0005,0.0003,0.0002,0.0002,0.0001,0.0001,0.0001,0.0001,0,0,0,0,0,0,0,0,0
每個數字代表統計信息的一個點。分數越高,分數越高。第一個點表示分數接近於0,最後一個點表示分數接近max_score。編號是從0到1。因此,如果90%的分數是0(或幾乎),在字符串中的第一個數字將是0.9 ...
/EDIT
問題是數到目前爲止所玩的遊戲(超過500K遊戲)。這意味着負責計算統計點的腳本必須處理500K +分數,這比實際的JavaScript數組限制更高。
我知道這可能是任何後端專家的基本問題,但我找不到一個聰明的解決方案。我不知道如何使用Parse.com中使用JavaScript編寫的Cloud Code生成大量數據。
任何幫助或指導意見。
感謝您的回答。其實主要問題是關於計算點。在圖像上,你可以看到一個由40個點組成的圖表。這個分數越高(接近1.0),那個分數的比賽就越多。然後,如果90%的比賽得分接近150分並且最高分是300,則圖表中心的點將具有0.9的值。 另外,圖表左側是0分,右側是最高分。現在更清楚了嗎? – lvictorino 2015-02-09 15:12:15
這是一個簡單的想法,但它應該工作。謝謝你的幫助。 – lvictorino 2015-02-10 11:37:35