मुझे एक समस्या है जिसके लिए मुझे दूरस्थ मशीन से कई लॉग फ़ाइलों को पार्स करने की आवश्यकता है। कुछ जटिलताओं के होते हैं: 1) फ़ाइल उपयोग 2 में हो सकता है) फ़ाइलें काफी बड़ा हो सकता है (100 एमबी +) 3) प्रत्येक प्रविष्टि बहु लाइननेटवर्क पर बड़ी टेक्स्ट फ़ाइल को पढ़ने और पार्स करने का सबसे अच्छा तरीका क्या है?
में उपयोग में समस्या का समाधान करने में हो सकता है, मुझे इसे पहले कॉपी करने की ज़रूरत है। मैं वर्तमान में इसे सीधे दूरस्थ मशीन से स्थानीय मशीन पर कॉपी कर रहा हूं, और वहां इसे पार्स कर रहा हूं। इससे समस्या 2 हो जाती है। चूंकि फाइलें काफी बड़ी हैं, इसे स्थानीय रूप से कॉपी करने में काफी समय लग सकता है।
पार्सिंग समय बढ़ाने के लिए, मैं पार्सर बहु-थ्रेडेड बनाना चाहता हूं, लेकिन यह बहु-पंक्तिबद्ध प्रविष्टियों से थोड़ा सा ट्रिकियर से निपटता है।
दो मुख्य मुद्दे हैं:? 1) कैसे मैं फाइल स्थानांतरण (संपीड़न में तेजी लाने करते ?, स्थानीय रूप से स्थानांतरित कर रहा है और भी आवश्यक ?, सकते हैं कि मैं एक प्रयोग फ़ाइल में किसी अन्य तरह से पढ़ें) 2) कैसे मैं करता हूँ धागे के बीच लाइनों को विभाजित करते समय बहु-लाइन प्रविष्टियों से निपटें?
अद्यतन: कारण मैंने सर्वर कारण पर स्पष्ट पार्स नहीं किया है कि मैं जितना संभव हो उतना छोटा सीपीयू प्रभाव रखना चाहता हूं। मैं सिस्टम आईएम परीक्षण के प्रदर्शन को प्रभावित नहीं करना चाहता हूं।
यदि नेटवर्क पर सीधे 100 एमबी टेक्स्ट फ़ाइल की प्रतिलिपि बनाना x सेकंड लेता है, और रिमोट क्लाइंट को संपीड़ित करना और फ़ाइल भेजना और फिर डिफ्लेटिंग/रीडिंग x/4 सेकेंड लेता है, तो क्या यह इसके लायक नहीं है? (ध्यान दें, मैं वास्तव में नहीं जानता कि इसे संपीड़ित/भेजने/डिकंप्रेस/पढ़ने के लिए कितना समय लगेगा) – midas06
हर तरह से आप नेटवर्क पर कुछ संपीड़न का उपयोग कर सकते हैं (और चाहिए)। जैसे मैंने कहा, अपने आईओ स्ट्रीमिंग विकल्पों की समीक्षा करें - कुछ लोगों ने कुछ ज़िप पुस्तकालयों का सुझाव दिया। ओटीओएच अगर आप रिमोट एंड पर प्रोग्राम डाल सकते हैं, वहां प्रोसेसिंग करें! –