Algorithm 有哪些算法可以准确估计数据传输的ETA?

Algorithm 有哪些算法可以准确估计数据传输的ETA?,algorithm,Algorithm,这感觉像是应该进行一些重要的统计分析的东西 计算从下载到磁盘拷贝的任何内容的ETA,因为整个过程通常以随机(随机?)数据传输速率结束。使用琐碎的计算所花费的时间*(剩余数据/传输的数据)会产生令人惊讶的可变结果 是否有比上述计算更好的算法可以产生稳定且“真实”的ETA?最简单的解决方案是使用a来估计一段时间内的平均传输速率,而不是使用传输速率的最新瞬时估计值。你必须选择一个合适的窗口长度 您可能更喜欢a,这是一种移动平均值,其中窗口内的瞬时测量值的权重并不相等。通常,您会将较新的度量值的权重高于

这感觉像是应该进行一些重要的统计分析的东西

计算从下载到磁盘拷贝的任何内容的ETA,因为整个过程通常以随机(随机?)数据传输速率结束。使用琐碎的计算
所花费的时间*(剩余数据/传输的数据)
会产生令人惊讶的可变结果


是否有比上述计算更好的算法可以产生稳定且“真实”的ETA?

最简单的解决方案是使用a来估计一段时间内的平均传输速率,而不是使用传输速率的最新瞬时估计值。你必须选择一个合适的窗口长度

您可能更喜欢a,这是一种移动平均值,其中窗口内的瞬时测量值的权重并不相等。通常,您会将较新的度量值的权重高于较旧的度量值

这些参数(窗口长度和权重)是判断的问题。
但是,如果您想非常认真地对待它,您可以从实际数据传输中收集测量值,并使用机器学习算法训练模型参数。

一个一直延伸到传输开始的窗口不是最准确的吗?但这似乎是导致估计值剧烈波动的原因,不一定。假设一个连接通常以1Mb/s的速度运行,但在极少数情况下会在不确定的时间内降至1Kb/s。没有先验的理由假设连接缓慢的未来时间的比例将等于连接缓慢的过去时间(在此特定传输期间)的比例。反之亦然,仅仅因为你已经运行了1Mb/s一段时间,并不意味着速度不会突然下降到1Kb/s。但是,如果当前传输确实在某个时间点减慢,并且现在又恢复了,那么可以说在连接恢复的某个时间段(即窗口长度)之后,问题似乎得到了解决,因此您可以期待在剩余的传输过程中全速进行。顺便说一下,我认为xkcd的Windows文件传输对话框报告的时间变化很大,这是因为只使用了最近的瞬时传输速率,而不是目前为止使用的整个传输的平均值。