-1

我有一个队列包含不同数量的消息,并且我有脚本来读取队列并处理消息。我的问题是:一些队列的消息数量非常多,而且比平时多。因此,为了改进处理,我想处理所有具有更多计数的队列。如果队列有线性差异(例如:1000、1200、1300、1800、1900)我想处理完整的队列。如果假设计数像 (1000, 1200, 1300, 1800, 1900, 4000, 4500, 4900, 5200) - 这里 4000+ 是非常大的队列所以我只想拿这些队列。

我希望一些数学计算标准偏差等会有所帮助,但我不知道如何处理它。

4

2 回答 2

0

我会这样开始:

  • 取第一个数字(在本例中为 1000)并将数组中的每个数字除以这个数字,并根据每个数字保存该分数。
  • 取具有您定义为这些分数中的每一个“非常不同”(例如 5 或 10)的基数的日志,并根据每个数字保存它们。
  • 将所有数字放在分数对数介于 -1 和 1 之间的组中,然后从所有数字的数组中删除这些数字。
  • 从剩余号码重新开始并继续,直到您只剩下 1 个(您将把它放入一个新组中)或没有剩余号码。
于 2012-11-29T08:20:47.813 回答
0
  1. 从排序开始。
  2. 收集相邻元素之间差异的统计数据。
  3. 选择几个“大”跳跃

“大”的定义可能不同。如果您知道他们的数量(例如只有两组),只需选择适当数量的最大跳跃(比组数少 1)。或者,您可以采取一些百分比的大跳跃或分析平均值和变化来选择一些阈值。

于 2012-11-29T08:30:34.323 回答