Torrent填充文件

时间:2015-08-10 17:19:42

标签: libtorrent transmission torrent

有人为torrent创建了填充文件吗? 现在有多少客户使用这些东西?是"填充文件"全面?

我没有在新客户中找到此功能,例如ctorrent,ttorent,trasmission等。

您是否已实现此功能或某些理论或历史记录?

我将很感激您的答案!

1 个答案:

答案 0 :(得分:5)

这个功能最初由BitComet实现(在我看来,实现的质量相当差)作为一种方法,可以更轻松地取消某些文件的下载。由于bittorrent下载片段,片段可能跨越多个文件。否则,当您取消选择某些文件时,您仍然可以获得它的第一位和最后一位(因为它与其他文件所需的部分重叠)。

介绍pad文件可确保文件与片段对齐并使问题消失。

值得注意的是,uTorrent会将这些遗留的部分放在一个单独的文件中,称为零件文件。

在更现代的时代,几年后,libtorrent和uTorrent得到了一些pad文件的支持,原因不同。主要是这两个:

  1. uTorrent实施了支持"可变种子",能够用新版本替换torrent并有效地将所有常见内容转换/复制到新的torrent。为了有效地大规模使用此功能,您必须将大文件对齐,以避免重新散列所有内容(即您只想散列新内容,而不是保持相同的内容)。因此,pad文件很有用。

  2. 访问文件系统中的群集对齐偏移量可能比未对齐访问要便宜很多。它还允许使用一些可能限制文件偏移(异步.I / O)的更复杂的API。对于内存映射文件也是如此。

  3. 对pad文件的主要批评(据我所知)来自BitComet的实现,这对于没有实现它的客户来说非常具有侵扰性。它会创建具有长文件名的突出文件,建议下载更新版本的BitComet。至少在uTorrent阵营中,这让很多用户感到不安,以至于创建了一些.torrent文件故意在bitcomet中使用此功能(其中pad文件不是全部​​为零,bitcomet会假设,所以它失败了散列)。

    有更优雅的方法来实现pad文件,我相信libtorrent和uTorrent做得更好。例如,您可以在创建torrent时合并(隐藏)目录中的所有pad文件。 uTorrent还会在其partfile中放入部分pad文件。

    至于支持pad文件的客户端,这里有一些我可以想到的(我给出了最新版本):

    1. uTorrent的
    2. BitTorrent的
    3. 雨淋
    4. qBitTorrent
    5. BitComet(我认为它仍然支持它)
    6. 使用libtorrent(rasterbar)
    7. 的任何其他客户端