【发布时间】:2014-12-13 13:02:12
【问题描述】:
有一大堆对象。集合是动态的:可以随时添加或删除对象。我们称对象总数为 N。
每个对象都有两个属性:质量(M)和上次更新的时间(T)。
每 X 分钟应选择一小批进行处理,这会将它们的 T 更新为当前时间。一个批次中所有对象的总M个是有限的:不超过L。
我希望在这里解决三个任务:
- 找到下一批对象拾取算法;
- 引入对象类:simple、priority(至少适合每个第 n 个批次)和 frequent(适合每个批次);
- 预测系统容量耗尽(添加下一个服务器的时间 = 增加 L)。
什么样的模型最能描述这样的系统?
整个事情是关于按时间间隔处理“对象”的服务。每个对象应每 N 小时“测量”一次。 N 可以在一个范围内变化。 X 是固定的。
对象是由人类添加/删除的。 N 呈指数增长,相当缓慢,其中一些峰值是由出版物引起的。当然预测不能准确,只是一些估计。 M 在 0 到 1E7 之间变化,呈指数分布,大部分接近于 0。
我看到这里可以有几种策略:
A. 全油门 - 每批包装尽可能接近 100%。随着 N 的增长,特定对象被击中的平均间隔也会增长。
B. 平等气质 :) - 尝试将平均间隔保持在某个值附近。批次填充水平将从某个低水平增长。当它接近 100% 时 - 是时候获得更多服务器了。
C. - ?
【问题讨论】:
标签: algorithm optimization dynamic-programming modeling bin-packing