IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

关于绘制统计曲线算法的一些思考

Vimer 2010-12-02 22:29:52 累计浏览 2,896 次
本机暂存

这篇文章还是关于fuload项目的问题,由于压力测试的结果最后是要给出可视化统计曲线及饼图的,所以这里就涉及到数据上报时间,格式,以及绘制算法的问题。
饼图比较简单,我们这里主要看调用时间的曲线图。
我们采用自顶向下的方法来分析,先分别来看输入和输出。
前提

  • 有多台机器(称为从机),同时想远程机器上报,由远程机器(称为主机)统一绘制。

输入

  • 一段时间内(如5分钟):起始时间,结束时间,总的调用时间,调用次数,平均调用时间。

输出

  • 根据平均响应时间,绘制时间为横轴,调用时间为纵轴的走势曲线图。

这里主要有几个难点

  • 1.对于这“一段时间”来说,每台从机是不一样的,即可能A机器报了7点5分~7点10分的数据,而B机器报了7点7分到7点12分的数据,也可以理解为主机端接收到每台从机上报数据时间点是不统一的。要解决这个问题,我们可以通过对上报数据做分片的处理,简单来说,既然我们选择了5分钟上报一次,那么统计图的X轴一定是5分钟一个统计点,比如拿7点5分~7点10分这段时间来说,7点7分~7点12分的数据有3/5落在了这个时间段(具体计算可以更精确),另外有2/5落在了7点10分~7点15分,这样统计曲线就可以绘制出来了。
  • 2.相信从机时间还是主机时间。虽然每台从机都将自己的时间起始终止点报上来了,但是我们是否应该相信呢。如果我们选择相信,这里有一个风险就是每台从机之间及和主机之间可能时间不一致。但如果统一按照主机时间,则必须保证从机在收集完数据之后立即上传到主机,防止滞后。

这样解决方案就比较清楚了,我们来复述一下:

  • a)从机上报格式为:
    • 起始时间(暂时无用)
    • 结束时间(暂时无用)
    • 总调用时间
    • 调用次数
  • b)主机接收到数据之后,将数据按时间段分片。见上面的难点的第1条。

这只是今晚总结的一个思路,等代码开始写之后,再将绘制的图表发上来。

同分类推荐文章

  1. 对基本有序的序列排序算法 (2026-06-11 17:46:49)
  2. Four Levels Of Customer Understanding (2026-05-22 21:00:00)
  3. 除法的意义 (2026-04-12 20:52:17)

查看更多 算法 文章 →

建议继续学习

  1. 世界海底光缆分布图 (累计阅读 5,177)
  2. 给数据穿上美丽的外衣 (累计阅读 3,738)
  3. 定性资料分析工具Stickysorter介绍 (累计阅读 3,636)
  4. 信息可视化研究范畴及案例 (累计阅读 2,967)
  5. 浅谈Heatmap (累计阅读 2,877)
  6. 数字的魔力 (累计阅读 2,765)
  7. 社会化媒体营销 (累计阅读 2,667)
  8. Twitter的设计原则 (累计阅读 2,561)
  9. 一种基于flex的可视化多层流量切分界面的实现 (累计阅读 2,287)
  10. 用户研究,别做第三者 (累计阅读 1,918)