2013-02-15 14 views
11

में एज़ूर करने के लिए जीबी में एक विशाल आकार के साथ ब्लॉब अपलोड करने का सबसे अच्छा तरीका कृपया किसी को स्टोरेज के लिए सबसे तेज़ संभव समय में एकाधिक जीबीएस आकार के वीडियो ब्लॉब को अपलोड/डाउनलोड करने का सबसे अच्छा तरीका सुझा सकता है?सबसे तेज़ समय

+1

अजीब इस रूप में बहुत व्यापक बंद हो गया है कि जब कोई पूछा सबसे अच्छा तरीका क्या किसी विशेष सेवा और कोई है जो सेवा पर एक विशेषज्ञ एक उपयोगिता सुसज्जित है करने के लिए एक बहुत बड़ी फाइल को अपलोड करने के लिए था कस्टम को संभवतः सबसे तेज़ विधि के साथ करने के लिए बनाया गया है। – Elomis

+0

[एज़ूर डेटा मूवमेंट लाइब्रेरी] (https: // डॉक्स।microsoft.com/en-us/azure/storage/common/storage-use-data-movement-library) 2018 – fiat

उत्तर

5

मैं एक माइक्रोसॉफ्ट तकनीकी प्रचारक हूं और मैंने इन परिदृश्यों में सहायता के लिए एक नमूना और मुफ्त उपकरण (कोई समर्थन/गारंटी नहीं) विकसित की है।

बाइनरी और स्रोत-कोड यहां उपलब्ध हैं: https://blobtransferutility.codeplex.com/

ब्लॉब स्थानांतरण उपयोगिता को अपलोड करने और विंडोज Azure ब्लॉब संग्रहण से/छोटे/बड़े फ़ाइलों के हजारों डाउनलोड करने के लिए एक जीयूआई उपकरण है।

विशेषताएं:

  • अपलोड करने के लिए बैचों बनाएं/छोटे भागों में समानांतर
  • स्प्लिट बड़ी फ़ाइलों कि समानांतर
  • में स्थानांतरित कर रहे हैं में
  • सेट सामग्री प्रकार
  • स्थानांतरण फ़ाइलों को डाउनलोड

चौथी सुविधा आपकी समस्या का उत्तर है ।

आप नमूना कोड से सीख सकते हैं कि मैंने यह कैसे किया है, या आप बस उपकरण चला सकते हैं और आपको जो करना है वह कर सकते हैं।

+0

हाय, क्या यह एक फ़ाइल खंड को खंड से डाउनलोड करना संभव है और उन्हें क्लाइंट ब्राउज़र पर फ़्लश करने के लिए एक HttpHandler का उपयोग करना संभव है प्रत्येक खंड के लिए? –

6

विंडोज़ एज़ूर स्टोरेज से बड़े ब्लॉब्स अपलोड/डाउनलोड करने का सबसे अच्छा तरीका अपलोड/डाउनलोड को बंद करके बहु-थ्रेडिंग का उचित उपयोग करना है। कुछ चीजें आप पर विचार करने की आवश्यकता होगी रहे हैं:

  1. हिस्सा आकार आपके इंटरनेट कनेक्शन पर निर्भर होना चाहिए। उदाहरण के लिए, यदि आप वास्तव में धीमे इंटरनेट कनेक्शन पर हैं तो बड़े व्यक्तिगत हिस्सों को अपलोड करना लगभग हमेशा समय-समय पर अनुरोध का परिणाम देगा।
  2. अपलोड/डाउनलोड करने के लिए समवर्ती धागे की संख्या मशीन पर प्रोसेसर कोर की संख्या पर निर्भर करती है जहां से आपका एप्लिकेशन कोड चल रहा है। मेरे अनुभव में, यदि आप अपने आवेदन को 8 कोर मशीन पर सर्वश्रेष्ठ प्रदर्शन के लिए चला रहे हैं तो आप 8 एकाधिक थ्रेडों को जन्म दे सकते हैं जहां प्रत्येक थ्रेड डेटा के हिस्से को अपलोड/डाउनलोड कर रहा है। कोई भी 100 धागे चलाने के लिए लुभाने और थ्रेड प्रबंधन को ओएस में छोड़ सकता है लेकिन मैंने जो देखा है वह है कि ऐसे मामलों में अधिकांश समय के अनुरोधों का समय समाप्त हो रहा है।
  3. अपलोड/डाउनलोड ऑपरेशन असीमित होना चाहिए। आप नहीं चाहते हैं कि आपका एप्लिकेशन आपके कंप्यूटर पर ब्लॉक/होग संसाधनों को ब्लॉक करे।

एक बड़ी फ़ाइल अपलोड करने के लिए, आप खंड आकार (मान लें कि यह 1 एमबी है) और समवर्ती धागे (मान लें कि यह 8 है) तय करें और फिर 8 तत्वों के साथ फ़ाइल में 8 एमबी पढ़ें और अपलोड ब्लॉक कार्यक्षमता का उपयोग कर समानांतर में उन 8 तत्वों को अपलोड करना प्रारंभ करें। एक बार 8 तत्व अपलोड हो जाने के बाद, आप अगले 8 एमबी पढ़ने के लिए तर्क दोहराते हैं और जब तक सभी बाइट अपलोड नहीं होते हैं तब तक इस प्रक्रिया को जारी रखें। इसके बाद आप ब्लॉब स्टोरेज में ब्लॉब को प्रतिबद्ध करने के लिए प्रतिबद्ध ब्लॉक सूची कार्यक्षमता को कॉल करेंगे।

इसी तरह एक बड़ी फ़ाइल डाउनलोड करने के लिए, फिर आप खंड आकार और समवर्ती धागे का निर्णय ले सकते हैं और फिर ब्लॉब कार्यक्षमता में "रेंज" शीर्षलेख निर्दिष्ट करके ब्लॉब के हिस्सों को पढ़ना शुरू कर सकते हैं। एक बार इन हिस्सों को डाउनलोड करने के बाद, आपको उनकी वास्तविक स्थिति के आधार पर पुनर्व्यवस्थित करने की आवश्यकता होगी (जैसा कि ऐसा हो सकता है कि आपको 0 - 1 एमबी खंड से पहले 3 - 4 एमबी खंड डाउनलोड किया गया हो) और इन हिस्सों को फ़ाइल में लिखना शुरू करें। जब तक सभी बाइट डाउनलोड नहीं होते हैं तब तक आपको प्रक्रिया को दोहराना होगा।

+0

के लिए सबसे अच्छा जवाब है यह पुष्टि करने के लिए चाहता था कि यहां समझाया गया समाधान सही तरीका है http: // wely-lau .net/2012/02/26/अपलोडिंग-बड़े फ़ाइलें-windows-नीला-ब्लॉब-भंडारण-साथ-putlistblock में /। यह बहुत अच्छा होगा अगर PHP में इसे लागू करने वाले नमूना ऐप्स के किसी भी लिंक को साझा किया जाएगा। –

+1

हां। यह सही दृष्टिकोण है। दुर्भाग्यवश PHP मेरा फोर्टे नहीं है :( –

+0

यदि आप संदर्भ कोड (VB.NET) देखना चाहते हैं तो कृपया [link] देखें (http://stackoverflow.com/questions/13943429/upload-blob-block-error- with-blockid-1-char/13950458 # 13950458)। आप इसे संदर्भित कर सकते हैं और PHP में इसे फिर से लिख सकते हैं। –

1

आप Cloud Combine का उपयोग विश्वसनीय और त्वरित फ़ाइल अपलोड के लिए Azure Blob संग्रहण पर कर सकते हैं। यह बहु-थ्रेडेड प्रोसेसिंग का समर्थन करता है, इसलिए फ़ाइल अधिकतम गति पर अपलोड हो जाती है।

1

आप एज़ूर से बड़ी फ़ाइलों को अपलोड/डाउनलोड करने के लिए विंडोज़ एज़ूर पावरहेल का उपयोग कर सकते हैं।

सेट-एज़ूर स्टोरेजब्लोबकंटेंट अपलोड करने के लिए है।

Set-AzureStorageBlobContent -Container containerName -File .\filename -Blob blobname 

http://msdn.microsoft.com/en-us/library/dn408487.aspx

प्राप्त करें-AzureStorageBlobContent डाउनलोड करने के लिए है।

Get-AzureStorageBlobContent -Container containername -Blob blob -Destination C:\test\ 

http://msdn.microsoft.com/en-us/library/dn408562.aspx

+0

यह वास्तव में बड़ी फ़ाइलों के लिए काम नहीं करता है क्योंकि यह समय समाप्त होता है। मैंने जिस कोशिश की थी वह 3.7 जीबी थी –

1

आप माइक्रोसॉफ्ट के AzCopy आदेश-पंक्ति उपयोगिता का उपयोग कर सकते हैं यदि आप एक Windows OS पर हैं। लिनक्स/मैक के लिए आप Azure CLI का उपयोग कर सकते हैं।

AzCopy अनुकूलतम प्रदर्शन के साथ सरल कमांड का प्रयोग करने के लिए और माइक्रोसॉफ्ट Azure ब्लॉब, फ़ाइल, और तालिका भंडारण से डेटा की प्रतिलिपि के लिए बनाया गया एक Windows कमांड लाइन उपयोगिता है।

डाउनलोड एक ब्लॉब:

AzCopy /Source:https://myaccount.blob.core.windows.net/mycontainer /Dest:C:\myfolder /SourceKey:my_key_here /Pattern:"abc.txt" 

अपलोड एकल फाइल:

AzCopy /Source:C:\myfolder /Dest:https://myaccount.blob.core.windows.net/mycontainer /DestKey:my_key_here /Pattern:"abc.txt" 

अधिक उदाहरण और जानकारी AzCopyhere पर।

0

मैं पूरे डेटा माइग्रेशन प्रयास के लिए अपेक्षाकृत नया हूं, और मैं व्यवसाय नियमों और विभिन्न बीटा परीक्षण परिदृश्यों के एक सेट का उपयोग करके 'ठंड' भंडारण बनाम 'प्रदर्शन' भंडारण के लाभ को अधिकतम करने की कोशिश कर रहा हूं।

मेरे पास उत्पाद से कोई संबंध नहीं है, लेकिन मुझे पता चला है कि, पैसे के लिए, गुडसिंक उत्पाद हिरन के लिए सबसे अच्छा धमाका देता है। शेड्यूलिंग, फ़ाइल चेंज ट्रिगर्स, फ़िल्टरिंग विकल्पों के टन की अनुमति देता है, अब तक सभी एसएमबी और/या क्लाउड आधारित स्टोरेज विकल्पों का विश्लेषण और सिंक्रनाइज़ किया जा सकता है। यह बहु-थ्रेडिंग के लिए भी अनुमति देता है। उनमें से कोई भी 'सुपर फास्ट' नहीं है, लेकिन गुडसिंक कम से कम अलग-अलग टैब का उपयोग करके नौकरियों का एक गुच्छा चलाने के लिए काफी प्रबंधनीय बनाता है।

इसे बाहर की जाँच करें ...

संबंधित मुद्दे