English 中文(简体)
校外数据
原标题:Spreading out data from bursts

I am trying to spread out data that is received in bursts. This means I have data that is received by some other application in large bursts. For each data entry I need to do some additional requests on some server, at which I should limit the traffic. Hence I try to spread up the requests in the time that I have until the next data burst arrives.

目前,我正在使用token-bucket传播数据。 然而,由于我收到的数据已经坏了,我还是正在填补待决申请的交汇点,或者在接连发生时,我会spi。 因此,这种算法似乎并没有达到形成我需要的类型。

有哪些其他算法可以限制请求? 我知道,我有高负荷和低负荷的时期,因此,两者都应通过申请得到妥善处理。

我无法确定我是否能够真正解释我目前面临的问题。 如果你需要澄清,我就知道。

www.un.org/Depts/DGACM/index_spanish.htm

我试图更多地澄清问题,并解释为什么简单的费率限制人不工作。

问题在于交通工具的杂乱性质,而零售商在不同时期的规模不同。 最经常的是每笔付款之间的拖延。 因此,我们获得了处理数据记录,我们需要在下一层楼群出现之前,尽可能地予以公布。 然而,在下一层楼房即将到来时,仅仅近一点一点,即按记录号()的编号计算,一个简单的<编码>divide 时,我们不会像现在这样运作。

比率限制不起作用,因为数据传播不够。 如果我们接近饱和率,一切都会是罚款的,我们甚至蔓延(尽管这种情况不应经常发生)。 如果我们低于门槛值,这种传播就会进一步恶化。

我举了一个例子,使这一问题更加清楚:

让我们说,我们的交通限制在每秒10次,每10秒就有新的数据。

当我们在一个时间框架开始时获得100份记录时,我们将每隔二次查询10份记录,我们甚至完全传播。 然而,如果我们只获得15份记录,我们就会有第二次查询10份记录,第二次查询5份记录和8份记录,这样,我们就会有很不平等的交通量。 相反,如果我们每隔二次查问1.5个记录,就会更好。 然而,确定这一比率也会带来问题,因为新的数据可能较早到达,因此我们没有全部10秒,1.5个问询是不够的。 如果我们使用象征性的桶子,问题实际上会更加恶化,因为脚踏板允许在时间段一开始即行走。

然而,这一例子掩盖了问题,因为实际上,我们不能在任何特定时刻充分说明待决请求的数量,而只是上限。 因此,我们每次都必须根据这一数目进行ttle。

最佳回答

这种声音,如 控制理论。 具体来说,我想到的是PID控制ler

对这一问题的第一次打击可能是在估计时间之前将记录数量分开,直至下批。 这好像是P 控制员,只有比例。 但随后,你冒着过度估计时间、积累一些不肯定的记录的风险。 因此,试图在“整体”一词中添加一句话,以说明所建错误。

如果批量的变化是随机的,我不肯定你甚至需要一个衍生术语。 因此,尝试使用消费物价指数(PI loop)——你可能在间隔期间积累一些积压,但将由我处理。

If it s unacceptable to have a backlog, then the solution might be more complicated...

问题回答

如果不存在其他制约因素,那么你应该做的是,你对发出额外请求感到欣慰的最高数据率,并据此限制你的处理速度。 然后监测正在发生的情况。 如果能迅速通过你的所有要求,就不会有伤害。 如果其持续处理水平不够快,那么你就需要更多的能力。





相关问题
How to add/merge several Big O s into one

If I have an algorithm which is comprised of (let s say) three sub-algorithms, all with different O() characteristics, e.g.: algorithm A: O(n) algorithm B: O(log(n)) algorithm C: O(n log(n)) How do ...

Grokking Timsort

There s a (relatively) new sort on the block called Timsort. It s been used as Python s list.sort, and is now going to be the new Array.sort in Java 7. There s some documentation and a tiny Wikipedia ...

Manually implementing high performance algorithms in .NET

As a learning experience I recently tried implementing Quicksort with 3 way partitioning in C#. Apart from needing to add an extra range check on the left/right variables before the recursive call, ...

Print possible strings created from a Number

Given a 10 digit Telephone Number, we have to print all possible strings created from that. The mapping of the numbers is the one as exactly on a phone s keypad. i.e. for 1,0-> No Letter for 2->...

Enumerating All Minimal Directed Cycles Of A Directed Graph

I have a directed graph and my problem is to enumerate all the minimal (cycles that cannot be constructed as the union of other cycles) directed cycles of this graph. This is different from what the ...

Quick padding of a string in Delphi

I was trying to speed up a certain routine in an application, and my profiler, AQTime, identified one method in particular as a bottleneck. The method has been with us for years, and is part of a "...

热门标签