حالة الاستخدام
نحن نتحدث عن الملفات الكبيرة هنا (100 ميغابايت على الأقل ،
المرمى
تحسين أداء التحميل و / أو تنزيل البيانات إلى / من Zenodo.
تحميل
انقل البيانات من إلى Zenodo في أسرع وقت ممكن. باستخدام 1) JavaScript (متصفح) و / أو 2) Python (API).
_ جانب العميل_
JavaScript: ملف chunk (تدعم العديد من المكتبات الحالية هذا - على سبيل المثال PLUpload) ، قم بتحميل أجزاء متوازية (لم أر هذا في أي مكان - يمكن استخدام عمال الويب javascript على سبيل المثال).
Python: نفس الشيء مثل JavaScript - chunk / المتوازي + انظر إلى خط أنابيب HTTP وطبقة TCP أيضًا.
قضايا يجب مراعاتها:
_ جانب الخادم_
تحميل
المثال 1: مجموعة بيانات 260 جيجابايت في 1000 ملف. كيف يمكن للباحث تنزيل الملفات بسهولة دون الحاجة إلى النقر فوق 1000 رابط.
المثال الثاني: مجموعة بيانات 260 جيجا بايت في 4 ملفات. ماذا يحدث في حالة فقد الاتصال بالشبكة (أي التنزيلات القابلة للاستئناف).
_ جانب العميل_
ربما يكون من الممكن كتابة تطبيق JavaScript يمكنه المساعدة في تنزيل 1000 ملف. يمكن أن يساعد التطبيق نفسه في التنزيلات القابلة للاستئناف. مرة أخرى ، يمكن استخدام نموذج عامل الويب Javascript لتنزيل الملف على شكل أجزاء.
_ جانب الخادم_
تنفيذ الدعم لطلبات نطاق HTTP. مثل التحميل (نموذج العملية والتنزيلات المتزامنة). على سبيل المثال ، العملاء البطيئون الذين يستغرقون وقتًا طويلاً في تنزيل ملف سوف يملأ الخط.
خارج النطاق (لكن يجب مناقشته): طرق أخرى لتحسين تسليم الملفات مثل شبكات تسليم المحتوى.
سينتقل جزء Python بشكل أساسي إلى Inveniosoftware / Invenio-files-rest
ستكون أجزاء JavaScript مستودعات منفصلة.
آسف لإحياء هذه المشكلة القديمة في اتجاه خارج الموضوع إلى حد ما ... أود بشدة أن يدعم خادم Zenodo HTTP طلبات نطاق HTTP ، والتي تم ذكرها في التعليق الأصلي. بقدر ما أستطيع أن أقول ، لم يتم تكريمهم حاليًا. هل هذا على خريطة الطريق في الوقت الحالي؟
هل هناك طريقة أفضل لتنزيل الملفات الكبيرة من استخدام متصفح إنترنت شائع؟ تميل الملفات الكبيرة التي تزيد عن http إلى الفشل في غضون ساعات ، ولا يمكن استئناف التنزيل.
في حالتي ، أحاول تنزيل مجموعة بيانات سعة 50 جيجابايت.
تبلغ سرعة التنزيل 500 كيلوبت في الثانية ويفشل الاتصال بين 12 ساعة التي يستمر فيها التنزيل.
لقد كنت أحاول تنزيله كل يوم منذ شهور (أحتاج إلى مجموعة البيانات لأطروحة الماجستير الخاصة بي).
أي اقتراحات؟
لم أتمكن حتى من تنزيل مجموعة بيانات 2.2 جيجا بايت بعد 5 محاولات ، ولم يستطع مدير التنزيل مساعدتي أيضًا.
Vichoko ، هل تمكنت من حلها؟ اذا نعم فكيف
لقد شعرت أيضًا بالإحباط الشديد من محاولة تنزيل مجموعة بيانات تتضمن ملفين كبيرين (12 جيجابايت و 37 جيجابايت) لأيام وأيام.
لقد وجدت https://zenodo.org/record/1261813 (https://gitlab.com/dvolgyes/zenodo_get) وقد ساعد كثيرًا. تمكنت من تنزيل السجل بالكامل في المحاولة الأولى.
للوهلة الأولى ، لا أرى شيئًا سحريًا بشأنه ، لذلك أعتقد أن الحيلة يجب أن تكون في بعض العناصر الداخلية لتطبيق Python لـ wget .
Link: https://zenodo.org/api/files/cb4ca1fa-1db1-40f9-8f39-0e9d3b2af7ae/musdb18hq.zip size: 21607.1 MB
0% [ ] 3121152 / 22656664047
يمكنني تنزيل ملفات 21 جيجابايت بشكل أسرع في عام 2006 باستخدام الطلب الهاتفي. هل تفتقر Zenodo إلى البنية التحتية لشبكة CDN؟ لماذا لا تستخدم دلو S3 أو GCS؟
أعتقد أنه يجب إعادة فتح هذه المشكلة ، نظرًا لأن Zenodo يعرض تنزيلات بطيئة وغير مستقرة بشكل غير طبيعي. أو إذا كانت هناك مشكلة أخرى لتتبع تنزيلات Zenodo؟
التعليق الأكثر فائدة
هل هناك طريقة أفضل لتنزيل الملفات الكبيرة من استخدام متصفح إنترنت شائع؟ تميل الملفات الكبيرة التي تزيد عن http إلى الفشل في غضون ساعات ، ولا يمكن استئناف التنزيل.
في حالتي ، أحاول تنزيل مجموعة بيانات سعة 50 جيجابايت.
تبلغ سرعة التنزيل 500 كيلوبت في الثانية ويفشل الاتصال بين 12 ساعة التي يستمر فيها التنزيل.
لقد كنت أحاول تنزيله كل يوم منذ شهور (أحتاج إلى مجموعة البيانات لأطروحة الماجستير الخاصة بي).
أي اقتراحات؟