• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >编程问答 > 请教一个根据时间平均划分请求的计算方法

请教一个根据时间平均划分请求的计算方法

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-07

佚名通过本文主要向大家介绍了请教男睡裤裁剪方法,请教我恋爱的方法,请教会议速记方法,请教金鱼饲养方法,请教我盗qq号的方法等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题:请教一个根据时间平均划分请求的计算方法
描述:

问题很简单:

  • 一个小时有3600秒,就以这个为单位,按照每秒来的方式发起请求
  • 如果在这个期间有36次请求,那么就是1次/100秒,如果有360次请求,就是1次/10秒

这个不难,那如果说:

  • 3600秒有19次请求,那么就是189.47次,那肯定不可能是1次/189.47秒,因为是按照秒来发起请求的,但是如果按照1次/190秒来算,那在3600秒里面肯定是完不成19次请求的,如果按照1次/188秒来算,就分配的不是特别均匀(后面还空出28秒),也就是说如何尽可能的将19均分在3600上,然后面空出的数字越少越好
  • 如果说3600秒请求7520次请求,如何能算出每秒需发起多少次请求才能平均且合理呢?
  • 如果说3600秒请求31次请求,如何能算出多少秒发起一次请求比较平均且合理呢?

解决方案1:

把累积的小数误差体现在后面的计算中即可消灭最后的累积误差。

也就是说每次使用“剩余时间”和“剩余次数”而非“总时间”和“总次数”来计算,这样每次向下取整,剩余时间就会变多一些,后面就更倾向于向上取整一些,反之亦然。误差会在不超过正负1的区间内摇摆而不会累积


def scheduleRequest(reqCount, time = 3600): result = [] remainTime = time for i in xrange(0, reqCount): t = round(remainTime / (reqCount - i)) if(len(result) > 0): result.append(result[-1] + t) else: result.append(t) remainTime -= t return result print(scheduleRequest(11)) print(scheduleRequest(12)) print(scheduleRequest(13)) print(scheduleRequest(73, 36))

结果(最后那个请求次数超过时间两倍的例子,为了展示方便缩减为36秒)

[327.0, 654.0, 981.0, 1308.0, 1635.0, 1963.0, 2290.0, 2618.0, 2945.0, 3273.0, 3600.0]
[300.0, 600.0, 900.0, 1200.0, 1500.0, 1800.0, 2100.0, 2400.0, 2700.0, 3000.0, 3300.0, 3600.0]
[276.0, 553.0, 830.0, 1107.0, 1384.0, 1661.0, 1938.0, 2215.0, 2492.0, 2769.0, 3046.0, 3323.0, 3600.0]
[0.0, 1.0, 1.0, 2.0, 2.0, 3.0, 3.0, 4.0, 4.0, 5.0, 5.0, 6.0, 6.0, 7.0, 7.0, 8.0, 8.0, 9.0, 9.0, 10.0, 10.0, 11.0, 11.0, 12.0, 12.0, 13.0, 13.0, 14.0, 14.0, 15.0, 15.0, 16.0, 16.0, 17.0, 17.0, 18.0, 18.0, 19.0, 19.0, 20.0, 20.0, 21.0, 21.0, 22.0, 22.0, 23.0, 23.0, 24.0, 24.0, 25.0, 25.0, 26.0, 26.0, 27.0, 27.0, 28.0, 28.0, 29.0, 29.0, 30.0, 30.0, 31.0, 31.0, 32.0, 32.0, 33.0, 33.0, 34.0, 34.0, 35.0, 35.0, 36.0, 36.0]


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 再请教一个python中正则表达式的问题谢谢
  • 分析文件后,记录入库请教
  • 再请教个正则表达式
  • 请教下python中的作用是什么
  • 正则表达式替换请教一个正则表达式分组替换的问题
  • 请教,怎么用python做简单的像素级碰撞检测
  • 请教如何模拟如下地址
  • 正则表达式请教一个正则表达式,限制只能输入正确的数字字符串
  • 《笨方法学python》一个例子没有运行出来,请教!
  • 请教我恋爱的方法请教个pythonhttplib2传递参数问题

相关文章

  • 2017-06-07 《LinuxC一站式编程》:不加int$0x80导致段错误
  • 2017-06-07 (VFP)CA自动更新问题
  • 2017-06-07 关于qsort
  • 2017-06-07 discuz集成7牛后图片无法显示
  • 2017-06-07 自带包和JBOSS包冲突问题
  • 2017-06-07 mac下pythonimport总是报错
  • 2017-06-07 七牛上的文件外链怎么加成https的?
  • 2017-06-07 七牛上传文件最大是多少啊?
  • 2017-06-07 phplaravel,如何更高效地调试?
  • 2017-06-07 memcache分布式缓存升级问题

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • python的问题
    • python爬虫(python)点阵造字怎么实现?
    • 七牛存储的cdn可以通过加get参数的方式刷新么还是说只能手动操作
    • 怎么编写网络爬虫程序抓取百度知道问答?
    • PHP通过扩展连接redis和通过socket连接redis有何不同?你推荐哪个?
    • 问个有关版本命名的问题
    • Python能否监听系统关闭
    • jboss下如何建立一个线程监听另一台UDP服务器数据
    • flask同一个链接下有两个标签页,每个标签页都有一个表单,服务端要怎么处理这两个表单?
    • 北京创业团队诚寻pythoner入伙,帝都三环内SOHO办公,打造现金牛产品

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有