Existe-t-il un client bittorrent qui permet de réutiliser des blocs de données présentes localement (comme zsync)?

Karl Richter

Existe-t-il un client bittorrent qui permet de réutiliser des blocs de données présentes localement (comme zsync)?


Supposons que vous ayez des fichiers présents localement (déjà téléchargés, récupération sans rapport avec le problème) et que vous savez ou êtes très certain qu’ils ont quelque chose (certains blocs de données) en commun avec un torrent que vous souhaitez télécharger. Existe-t-il un client qui permet de lire une sélection de fichiers (sélectionnée par l’utilisateur), de la comparer à la liste des sommes de contrôle de bloc du fichier torrent et de sauter des blocs en fonction des données présentes localement.

Un exemple serait un système ISO en direct d’un OS dont vous savez (ou devinez) qu’il n’a pas changé 50, 30 ou 10% de son contenu par rapport à une version plus récente. Normalement, vous utiliseriez zsync si possible, mais cela dépend d’un serveur central. Comment enregistrer le trafic avec la même idée que zsync est basée sur une architecture bittorrent?

La seule condition préalable pour le serveur et le client doit être qu’ils parlent bittorrent et bittorrent ou des liens magnétiques arbitraires doivent être utilisables avec la solution.

Je connais (solutions non conformes aux prérequis):

  • zsync qui fait ce travail en dehors du monde bittorrent. Comme il n’y a pas de transfert de somme de contrôle dans HTTP, cela doit être géré dans zsync avec des fichiers .zsync.
  • jigdo qui est idéal pour mettre à jour uniquement les parties pertinentes des images iso (Debian), mais il n’est pas intégré dans bittorrent
  • La déduplication des systèmes de fichiers comme btrfs ou ZFS offre une transmission en continu dédupliquée des sous-volumes / ensembles de données (par exemple, btrfs send et zfs send ), mais ils sont maintenant vraiment adaptés aux tâches de téléchargement simples.
Smit Johnth

N’obtenez pas tout à fait ce que vous voulez. Tout client peut ressasser les données locales. Si le bloc complet (la longueur du bloc et la position de départ sont définis dans le fichier torrent) est le même que l’original, il sera marqué comme présent et ne sera pas téléchargé à nouveau.

Karl Richter

@SmitJohnth Cela s’applique lorsque les données présentes localement appartiennent au fichier cible. Je veux analyser un ensemble arbitraire de données locales (en particulier les fichiers qui n’ont rien à voir avec le torrent sauf avoir des blocs de données en commun) et les réutiliser afin d’ignorer le transfert.

Réponses


 naisanza

Ce que vous devrez faire est de lire le fichier torrent et de comparer tous les hachages avec une table de hachage des fichiers que vous avez sur votre système local.

Ensuite, reconstruisez une arborescence de répertoires locale identique à celle du fichier torrent. Ensuite, lorsque vous accédez au torrent avec un gestionnaire, il voit les fichiers existants et récupère ceux qui n’existent pas.

Karl Richter

C’est pour implémenter ma propre solution (application ou encore bibliothèque et application réutilisables en haut), non?

naisanza

@Karl Richter – Ouaip. C’est essentiellement ce que fait Bittorrent Sync. Sauf, il utilise une base de données sqllite pour stocker toutes les informations relatives pour maintenir les modifications synchronisées sur différents nœuds.

 

#de, bittorrent, blocs, client, comme, des, données), Existe-t-il, localement,, permet, présentés, qui, réutiliser, un, zsync)?

 

wiki

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *