2011-09-18 49 views

回答

0

最好的辦法就是memcache將數據存儲到數據存儲中。你提到的「每秒所有這些數據的平均值」對我來說沒有多大意義;除非你有很多用戶或正在產生耗盡電量的數據量,否則每秒的平均值可能只是第二次提交的數據。此外,「實時」可能欺騙了你;它需要時間的數據傳輸到服務器,並返回到電話。特別是在EDGE和較慢的數據網絡上,可能會導致數秒的延遲。

做每分鐘平均計算可能是實際的;爲此,我只是簡單地創建一個memcache元組,其中包含當前接收的值的數量及其表示的均值。然後,當你得到一個新的值時,重新計算平均值(用平均值乘以值的數量[不包括增量]並加上新的值,然後除以新的值的數量)。將其存儲在memcache中,然後繼續。如果你明智地使用memcache,那麼在那一分鐘內你的數據就不會被驅逐,如果它被驅逐,你最多隻會丟失一分鐘的數據。如果這不可接受,請將其備份到數據存儲區。

相關問題