Cas d'utilisation
On parle ici de gros fichiers (minimum 100mb,
Objectif
Optimisez les performances de chargement et/ou de téléchargement de données vers/depuis Zenodo.
Télécharger
Déplacez les données de Zenodo aussi vite que possible. En utilisant 1) JavaScript (Navigateur) et/ou 2) Python (API).
_Côté client_
JavaScript : fichier de bloc (de nombreuses bibliothèques existantes le supportent - par exemple PLUpload), télécharger des blocs en parallèle (je n'ai jamais vu cela nulle part - pourrait utiliser par exemple des travailleurs Web javascript).
Python : Même chose que JavaScript - fragmenter/paralléliser + examiner également le pipeline HTTP et la couche TCP.
Problèmes à prendre en compte :
_Du côté serveur_
Télécharger
Exemple 1 : ensemble de données de 260 Go dans 1 000 fichiers. Comment un chercheur peut-il télécharger facilement les fichiers sans avoir à cliquer sur 1000 liens.
Exemple 2 : ensemble de données de 260 Go dans 4 fichiers. Que se passe-t-il si la connectivité réseau est perdue (c'est-à-dire les téléchargements pouvant être repris).
_Côté client_
Peut-être possible d'écrire une application JavaScript qui peut aider à télécharger les 1000 fichiers. La même application pourrait aider avec les téléchargements pouvant être repris. Encore une fois, le modèle de travailleur Web Javascript pourrait éventuellement être utilisé pour télécharger le fichier en morceaux.
_Du côté serveur_
Implémenter la prise en charge des requêtes de plage HTTP. Comme le téléchargement (modèle de processus et téléchargements simultanés). Par exemple, les clients lents prenant du temps pour télécharger un fichier rempliront la ligne.
Hors champ d'application (mais doit être discuté) : autres méthodes pour optimiser la livraison de fichiers, telles que les réseaux de diffusion de contenu.
La partie Python ira principalement dans inveniosoftware/invenio-files-rest
Les parties JavaScript seront des référentiels séparés.
Désolé de ressusciter ce vieux problème dans une direction quelque peu hors sujet ... J'aimerais beaucoup que le serveur HTTP Zenodo prenne en charge les requêtes de plage HTTP, qui sont mentionnées dans le commentaire d'origine. Autant que je sache, ils ne sont pas honorés actuellement. Est-ce sur la feuille de route pour le moment ?
Existe-t-il un meilleur moyen de télécharger de gros fichiers que d'utiliser un navigateur Internet commun ? Les gros fichiers sur http ont tendance à échouer en quelques heures et le téléchargement ne peut pas être repris.
Dans mon cas, j'essaie de télécharger un jeu de données de 50 Go.
La vitesse de téléchargement tourne autour de 500 Kbps et la connexion échoue entre les 12 heures que dure le téléchargement.
J'essaie de le télécharger tous les jours depuis des mois maintenant (j'ai besoin de l'ensemble de données pour ma thèse de maîtrise).
Aucune suggestion?
Je n'ai même pas pu télécharger un ensemble de données de 2,2 Go après 5 essais, le gestionnaire de téléchargement n'a pas pu m'aider non plus.
@Vichoko , avez-vous réussi à le résoudre ? si oui, comment ?
Moi aussi, j'ai été très frustré d'essayer de télécharger un ensemble de données qui comprend deux gros fichiers (12 Go et 37 Go) pendant des jours et des jours.
J'ai trouvé https://zenodo.org/record/1261813 (https://gitlab.com/dvolgyes/zenodo_get) et cela m'a beaucoup aidé. J'ai réussi à télécharger l'intégralité de l'enregistrement du premier coup.
À première vue, je ne vois rien de magique à ce sujet, donc je suppose que l'astuce doit être dans certains des éléments internes de l'implémentation Python de wget .
Link: https://zenodo.org/api/files/cb4ca1fa-1db1-40f9-8f39-0e9d3b2af7ae/musdb18hq.zip size: 21607.1 MB
0% [ ] 3121152 / 22656664047
Je pouvais télécharger des fichiers de 21 Go plus rapidement en 2006 avec une connexion commutée. Est-ce que Zenodo manque d'infrastructure CDN ? Pourquoi ne pas utiliser un bucket S3 ou GCS ?
Je pense que ce problème devrait être rouvert, étant donné que Zenodo présente des téléchargements anormalement lents et instables. Ou s'il y a un autre problème pour suivre les téléchargements Zenodo ?
Commentaire le plus utile
Existe-t-il un meilleur moyen de télécharger de gros fichiers que d'utiliser un navigateur Internet commun ? Les gros fichiers sur http ont tendance à échouer en quelques heures et le téléchargement ne peut pas être repris.
Dans mon cas, j'essaie de télécharger un jeu de données de 50 Go.
La vitesse de téléchargement tourne autour de 500 Kbps et la connexion échoue entre les 12 heures que dure le téléchargement.
J'essaie de le télécharger tous les jours depuis des mois maintenant (j'ai besoin de l'ensemble de données pour ma thèse de maîtrise).
Aucune suggestion?