0

我正在使用 rsyncrsync在 Python 中传输文件。我有基本的用户界面,用户可以在其中选择文件并启动传输。我想显示预期的持续时间来传输他们选择的所有文件。我知道所有文件的总大小(以字节为单位)。向他们展示预期的文件传输持续时间的聪明方法是什么?它不必非常精确。

4

1 回答 1

1

要计算任何事情的估计完成时间,您只需要跟踪传输当前完成的数据所花费的时间量,并将您对其余数据的估计基于过去的速度。一旦你掌握了这个基本方法,你可以通过各种方式调整你的估计,以考虑加速、拥塞和其他影响——例如,将过去 100 秒内传输的数据量分解为 20 秒增量并计算加权平均速度。

我不熟悉在 Python 中使用 rsync。您os.exec*()是使用 pysync ( http://freecode.com/projects/pysync ) 之类的东西来调用它吗?如果您正在生成 rsync 进程,您将很难获得细粒度数据(尤其是在传输大文件时)。我想您可以rsync --progress以某种偷偷摸摸的方式生成并获取/解析进度线,但这似乎非常尴尬。

于 2013-02-01T11:09:39.250 回答