क्या विंडोज के लिए एक संपीड़न या अभिलेखीय कार्यक्रम है जो कटौती भी करता है? [बन्द है]


12

मैं एक संग्रहकर्ता प्रोग्राम की तलाश कर रहा हूं जो संग्रहीत की जा रही फाइलों पर डिडुप्लीकेशन (घटा) कर सके। संग्रह को अनपैक करने पर, सॉफ़्टवेयर संपीड़न प्रक्रिया के दौरान हटा दी गई किसी भी फ़ाइल को वापस रख देगा।

अब तक मैंने पाया है:

किसी को भी किसी भी अन्य के बारे में पता?

यह शायद 7-ज़िप के लिए एक बढ़िया अतिरिक्त होगा।

जवाबों:


12

लगभग सभी आधुनिक आर्काइव वास्तव में ऐसा करते हैं, एकमात्र अंतर यह है कि वे इसे "ठोस" संग्रह के रूप में संदर्भित करते हैं, जैसा कि सभी फाइलों में संपीड़न एल्गोरिदम को खिलाए जाने से पहले एक एकल स्ट्रीम में समाप्‍त किया जाता है। यह मानक ज़िप संपीड़न से अलग है जो प्रत्येक फ़ाइल को एक-एक करके संपीड़ित करता है और प्रत्येक संपीड़ित फ़ाइल को संग्रह में जोड़ता है।

7-ज़िप अपने स्वभाव से प्रभावी ढंग से डी-डुप्लीकेशन को प्राप्त करता है। उदाहरण के लिए 7-ज़िप फाइलों की खोज करेगा, उन्हें समान फ़ाइल प्रकारों और फ़ाइल नामों से सॉर्ट करेगा और इसलिए एक ही प्रकार और डेटा की दो फ़ाइलों को कंप्रेसर एल्गोरिदम पर जाने वाली धारा में कंधे से कंधा मिलाकर रखा जाएगा। कंप्रेसर तब बहुत सारे डेटा को देखेगा जो उसने हाल ही में देखा है और उन दो फ़ाइलों को एक-एक करके फ़ाइलों को संपीड़ित करने की तुलना में संपीड़न दक्षता में बड़ी वृद्धि दिखाई देगी।

लिनक्स ने अपने ".tgz" प्रारूप (या ".tar.gz" के प्रचलन के माध्यम से लंबे समय तक एक समान व्यवहार देखा है) इसका पूर्ण रूप से उपयोग करना है क्योंकि टार बस सभी फ़ाइलों को एक ही स्ट्रीम में विलय कर रहा है (यद्यपि इसके बिना छँटाई और फ़ाइलों का समूह) और फिर gzip के साथ संपीड़ित करना। यह क्या याद आती है कि 7-ज़िप है जो छँटाई कर रहा है, जो दक्षता को थोड़ा कम कर सकता है, लेकिन अभी भी बहुत बेहतर है कि बस जिस तरह से ज़िप करता है, उसमें बहुत सारे व्यक्तिगत रूप से संकुचित फ़ाइलों को एक साथ ब्लब करना है।


प्रति दिन कुछ नया सीखें। मुझे यह महसूस नहीं हुआ कि ज़िप ने प्रत्येक फ़ाइल को अलग से संकुचित कर दिया है, लेकिन मेरे कंप्यूटर पर कुछ परीक्षणों को चलाने के बाद मुझे एहसास हुआ कि आप वास्तव में सही हैं। बहुत दिलचस्प है, धन्यवाद!
सेंटरऑर्बिट

7ip डिडुप्लिकेटिंग का एक अच्छा काम करता है, लेकिन इसे गैर-डुप्लिकेट डेटा को संक्षिप्त रूप से संपीड़ित करने के लिए डिज़ाइन किया गया है, और इसे प्राप्त करने के लिए बहुत सारे सीपीयू और मेमोरी का उपयोग करता है, जो डेटा को डुप्लिकेट करने के लिए एक बहुत ही अक्षम तरीका बनाता है। यदि आप दो समान 100MB फ़ाइलों को संपीड़ित करते हैं, तो पहली फ़ाइल को कुशलतापूर्वक संपीड़ित करने का प्रयास करने में बहुत परेशानी होगी, और उसके बाद ही (यदि शब्दकोश आकार काफी बड़ा है) दूसरी फ़ाइल को पहले के डुप्लिकेट के रूप में संपीड़ित करें।
mwfearnley

.tar.gzकेवल एक-दूसरे से पूरी तरह से स्वतंत्र रूप से एक समय में अपेक्षाकृत छोटे ब्लॉकों (जैसे 900KB) को संपीड़ित करने के साथ गज़िप नहीं होता है और इस तरह दो बड़ी लेकिन समान फ़ाइलों (जैसे, एक जोड़े 4 एमबी छवियों) को कम करने की क्षमता नहीं है?
बिंकी

उदाहरण के लिए, 7z बड़ी फ़ाइलों के बीच कटौती
binkr

एक दिलचस्प तरीका यह है कि फाइलों को 'git add' करें, फिर
.git

4

कम्प्रेशन प्रक्रिया के साथ डिडुप्लीकेशन का उपयोग करने का कोई मतलब नहीं है। अधिकांश संपीड़न एल्गोरिदम एक 'डिक्शनरी' कहते हैं जो डेटा के सबसे आम या पुन: उपयोग किए जाने वाले बिट्स के लिए दिखेगा। वहाँ से यह केवल फिर से पूरे "शब्द" लिखने के बजाय शब्दकोष प्रविष्टि का संदर्भ देगा। इस तरह से अधिकांश कंप्रेशन प्रक्रियाएं पहले से ही सभी फाइलों से अनावश्यक या डुप्लिकेट डेटा को काट देती हैं।

उदाहरण के लिए यदि आप 1 एमबी की फ़ाइल लेते हैं और इसे हर बार एक अलग नाम से 100 बार कॉपी करते हैं (कुल 100 एमबी डिस्क स्थान), तो आप इसे 7zip या ज़िप फ़ाइल में संपीड़ित करते हैं, आपके पास 1 MB कुल ज़िप फ़ाइल होगी। ऐसा इसलिए है क्योंकि आपके सभी डेटा को एक शब्दकोश प्रविष्टि में डाल दिया गया था और 100 बार संदर्भित किया गया था, जो बहुत कम जगह लेता है।

यह क्या होता है की एक बहुत ही सरल व्याख्या है, लेकिन बिंदु अभी भी अच्छी तरह से अवगत कराया गया है।


1
जैसा कि अधिकांश संपीड़न अभिलेखागार के लिए शब्दकोश का आकार बहुत सीमित है, यह रोजमर्रा के उपयोग में मान्य नहीं है। इसे 50MB फ़ाइलों के साथ आज़माएँ और आपका संपीड़ित आकार दो समान इनपुट फ़ाइलों के साथ दोगुना हो जाएगा।
Chaos_99

1
ज़िप फ़ाइलें, 7zip फ़ाइलों के विपरीत, फ़ाइलों में कटौती का समर्थन नहीं करते। जिप फाइलें प्रत्येक फाइल को अलग-अलग कंप्रेस और स्टोर करती हैं, इसलिए डुप्लीकेट फाइल्स को आर्काइव में कई बार स्टोर किया जाएगा।
21

1
जबकि 7zip फ़ाइलों में समर्पण का समर्थन करता है, यह बहुत छोटे मैचों को खोजने और संपीड़ित करने के लिए डिज़ाइन किया गया है। इसके एल्गोरिदम बहुत धीमे हैं और बड़े पैमाने पर डेटा दोहराव खोजने के लिए डिज़ाइन किए गए किसी चीज़ के लिए संभावित रूप से अधिक स्मृति गहन हैं।
mwfearnley

4

7-ज़िप, ज़िप, गज़िप और अन्य सभी अभिलेखागार समान क्षेत्रों का पता नहीं लगाते हैं जो प्रत्येक अभिजन से बहुत दूर हैं, जैसे कि बस कुछ मेगाबाइट्स या ऊपर, एक ही फ़ाइल के अंदर या अलग-अलग फ़ाइलों के अंदर अलग-अलग पदों पर रखे गए।

तो नहीं, कुछ अभिलेखों में सामान्य धनुर्धरों के साथ-साथ निर्वासन और दूसरों का भी प्रदर्शन नहीं किया जाता है। आप इसे देख सकते हैं यदि आप कुछ आभासी मशीनों या अन्य सामान को संपीड़ित करते हैं।


1
यह सही है। जैसे ही अद्वितीय डेटा वॉल्यूम कम्प्रेसर के आकार से अधिक हो जाता है, संपीड़न नाली से नीचे चला जाता है। एक्सडुप बड़े डेटा वॉल्यूम के लिए बेहतर प्रदर्शन प्रदान करता है।
usr
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.