Azure blob पर समानांतर अपलोड करने वाली छवियां बेहतर विकल्प क्या हो सकती हैं?

मेरे पास एक सूची है और प्रत्येक संदेश में एक छवि और सूची है, अब मुझे प्रत्येक संदेश के लिए छवि और अटैचमेंट के लिए ब्लॉब यूआरएल अपडेट करने की आवश्यकता है

    <�पी> समाधान 1:     छवि के लिए अपलोडब्लॉब को कॉल करें और प्रत्येक अनुलग्नक के लिए अपलोडब्लॉब पर कॉल करें और फिर ब्लॉब यूआरएल के साथ डीबी में संदेश ऑब्जेक्ट अपडेट करें          <�पी> समाधान 2     एक बार में छवि और सभी अनुलग्नक अपलोड करें और समानांतर अपलोडिंग का उपयोग करें और ब्लॉब यूआरएल अपडेट करें और डीबी में संदेश सहेजें, प्रत्येक संदेश में एक अद्वितीय आईडी है, इसलिए ब्लॉब पर अपलोड करते समय मैं इस आईडी को ब्लॉब यूआरएल बनाने के लिए सेट कर सकता हूं जो अद्वितीय है, इसलिए संदेश अपडेट करने के लिए मुझे ब्लॉब यूआरएल के साथ संदेश आईडी मैप करने की आवश्यकता है जिसमें संदेश आईडी है   

यदि आपके पास कोड पठनीयता और प्रदर्शन pls सलाह बढ़ाने के लिए कोई अन्य समाधान है

0
जोड़ा संपादित
विचारों: 1

2 उत्तर

मेरी समझ पर आधार, समाधान 2 की तरह दिखता है बेहतर है।

हम समांतर पुस्तकालयों की सहायता से समानांतर में एकाधिक फ़ाइलों को अपलोड कर सकते हैं: http://msdn.microsoft.com/en-us/library/dd460717.aspx । हम async पैटर्न का उपयोग भी कर सकते हैं (आरंभ/समाप्ति विधियों को कॉल करें)। लेकिन अगर हम एक ही समय में बहुत सारी फाइलें अपलोड नहीं करेंगे तो यह बेहतर होगा। यदि बहुत से लंबित वेब अनुरोध होते हैं, तो उनमें से कुछ विफल हो सकते हैं। उदाहरण के लिए, हम 10 कार्य बनाने का चयन कर सकते हैं, 1 को समाप्त करने के लिए प्रतीक्षा करें, और फिर 11 वें बनाएं।

सादर,

मिंग जू

0
जोड़ा

निश्चित नहीं है कि मैं प्रश्न को पूरी तरह से समझता हूं, लेकिन ... ऐसा लगता है जैसे प्रत्येक संदेश में एक छवि और शून्य या अधिक अनुलग्नक होंगे, और संदेश ऑब्जेक्ट को छवि और संबंधित अनुलग्नकों का संदर्भ होना चाहिए।

यदि यह एक सही व्याख्या है: प्रत्येक अपलोड अपने स्वयं के ब्लॉब में जाएगा। उपरोक्त समाधान # 2 के साथ भी, आप सभी अपलोड के बाद भी कई ब्लॉब यूआरआई के साथ समाप्त हो जाएंगे।

मैं यह नहीं बता सकता कि यह आपके ऐप में कहां फिट बैठता है, भले ही यह डेस्कटॉप ऐप अपलोड कर रहा हो, या हो सकता है कि एक वेब ऐप जो अंत उपयोगकर्ता से छवियां और अनुलग्नक ले रहा हो, फिर उन्हें ब्लॉब्स पर अपलोड कर रहा है (डेटाबेस रिकॉर्ड के साथ लिखा जा रहा है )। यदि यह बाद वाला है: मैं निम्नलिखित का सुझाव दूंगा:

  1. संदेश रिकॉर्ड लिखें (जो संभवतः आपको कुछ प्रकार की अद्वितीय आईडी वापस देगा)
  2. प्रत्येक छवि या अनुलग्नक प्राप्त करते समय, ब्लॉब संग्रहण पर अपलोड करें और फिर परिणामस्वरूप यूआरआई
  3. के साथ संदेश अपडेट करें

आप प्रत्येक छवि या अनुलग्नक को अपलोड करने के लिए समांतर कार्यों को लात मार सकते हैं और फिर संदेश रिकॉर्ड अपडेट कर सकते हैं। जब तक आपके पास बैंडविड्थ हो, तब तक समानांतर अपलोड करने के लिए एक बिंदु तक इसका अधिक उपयोग करने जा रहा है। प्रत्येक स्टोरेज खाते में थ्रूपुट कैप होता है (प्रति सेकेंड 5,000 लेनदेन, और 3 जीबीपीएस)।

निश्चित रूप से वैकल्पिक दृष्टिकोण हैं, जैसे सीक्यूआरएस पैटर्न आदि का उपयोग करके संदेश अपडेट के लिए कतार पेश करना। निर्णय का एक हिस्सा ऐप के आर्किटेक्चर पर आधारित होगा (जैसा कि मैंने कहा है, मैं यह नहीं बता सकता कि यह डेस्कटॉप ऐप कर रहा है या नहीं अपलोड को ब्लॉब स्टोरेज, या अपलोड करने वाले वेब सर्वर)।

0
जोड़ा
हाय डेविड यह एक वेब ऐप है जो डब्ल्यूसीएफ सेवा के लिए अनुरोध भेजता है और डब्ल्यूसीएफ बिजनेस को कॉल करता है जहां मैंने ब्लॉब पर अपलोड करने के तरीकों को लागू किया है, मैं संदेशों को नियंत्रित नहीं कर सकता क्योंकि मैं इसे एक्सएमएल से प्राप्त कर रहा हूं और इसमें 1000 संदेश और प्रत्येक शामिल हो सकते हैं संदेश में कई अनुलग्नक हो सकते हैं, जो एक्सएमएल उत्पन्न करता है, यह सुनिश्चित करता है कि संलग्नक केबी में छोटे आकार के हैं
जोड़ा लेखक Nitin Bourai, स्रोत