如何让数据动得比较自然?
现在有一个有关大数据平台的需求,本人想了一个礼拜也还没有想到解决方案,想各位老大给点意见和思路~~
现有一个后台请求是每600秒(10分钟)请求一次,然后将新的数据和旧数据计算一个差值,然后在下一次获取新数据之前(就是600秒之内),将旧数据以随机的秒数,和随机的加数慢慢叠加,一直到等于第一次获取的新数据,10分钟到了之后,再发一次请求,然后重复上一个步骤
难点来了:
假如第一次请求和第二次请求差值为1000,每一次
随机
的叠加间隔秒数和叠加数如何确保600秒以内,总共叠加数为1000呢?
例如:
差值为1000,第一次隔了6s叠加数+5(总叠加数为5),第二次隔了4s叠加数+3(总叠加数为8);
按这样循环下去,600s以内,如何让总叠加数为1000?
我现在想到透过setTimeout
来实现叠加功能,可是不知道如何继续了,请各位大佬帮帮忙~~
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
动态计算,使随机的期望值在理论上符合你的要求即可。
当然,最后的结果,不可能是严格的 10 分钟。(如果要严格也可以,只是后面的变化,可能是 0 而已)
很简单的归并问题,目前剩余时间 T (时间可以转化为“循环次数”,“间隔时间”等),相差的量是 S,那么当前的变化量是一个关于
T
和S
的函数, 即d(n) = f(T, S)
,变化之后,下一个d
就是d(n+1) = f(T - t, S - d)
。进一步,当S <= 0
时,d = 0
。给个进度条的例子,每次随机值的变化程度是动态分页数据的那个
stdDev
影响的:搜索:微信红包随机算法