Maison  >  Article  >  développement back-end  >  每10秒获取一次数据,求一天内8640次数据的平均值,有什么好的算法?

每10秒获取一次数据,求一天内8640次数据的平均值,有什么好的算法?

WBOY
WBOYoriginal
2016-08-27 09:06:541209parcourir

是这样,我PHP端,每10秒钟要获取一次子服务器的数据,如果每次都写数据库,纪录次数,到最后数据量就太大,如果有100个子服,那就性能问题就更严重了,考虑过写redis,但是写redis的话,json字符串也是够大的,而且在计算平均值的时候也比较麻烦,各位有没有什么好的算法解决?比如可以隔一段时间计算一下平均值,或者在存数据的时候有什么好的建议,希望多多帮忙,谢谢大家!

回复内容:

是这样,我PHP端,每10秒钟要获取一次子服务器的数据,如果每次都写数据库,纪录次数,到最后数据量就太大,如果有100个子服,那就性能问题就更严重了,考虑过写redis,但是写redis的话,json字符串也是够大的,而且在计算平均值的时候也比较麻烦,各位有没有什么好的算法解决?比如可以隔一段时间计算一下平均值,或者在存数据的时候有什么好的建议,希望多多帮忙,谢谢大家!

额。我太蠢了,每次接收数据记录次数,然后每次来新数据,就加到老数据上,最后再除以总次数,大家看这样行不行?

题主你的方法没问题,另外在存数据的时候,你也可以批量写啊,比如100个服务器,读10个写一次,一共写10次。10秒钟写10次数据库对数据库来讲毫无压力啊

题主方法正确,每来个数据,计算一次评论,旁边设置一个总次数计数器

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn