एलजेड पुरालेख प्रारूप

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

सामान्य एलजेड पुरालेख सूचना

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

एलजेड अभिलेखागार इतिहास

  • 1977: एलजेड कंप्रेशन की नींव इजरायली कंप्यूटर वैज्ञानिकों अब्राहम लेम्पेल और जैकब ज़िव ने रखी थी, जिन्होंने एलजेड77 एल्गोरिदम पेश किया था। यह दोषरहित डेटा संपीड़न के लिए पहला व्यापक रूप से अपनाया गया एल्गोरिदम था, जिसमें बार-बार डेटा पैटर्न को संपीड़ित करने के लिए एक स्लाइडिंग विंडो का उपयोग किया जाता था।
  • 1978: लेम्पेल और ज़िव ने LZ78 एल्गोरिदम पेश किया, जो LZ77 से बेहतर था, जिसमें शब्दकोश-आधारित दृष्टिकोण का उपयोग किया गया था। इस एल्गोरिदम ने संपीड़न दक्षता को और बढ़ाया और बाद की कई संपीड़न तकनीकों को प्रेरित किया।
  • 1984: टेरी वेल्च ने LZW (लेम्पेल-ज़िव-वेल्च) विकसित करने के लिए LZ78 एल्गोरिथ्म का निर्माण किया, जो यूनिक्स कंप्रेस कमांड और GIF छवि प्रारूप में इसके उपयोग के माध्यम से लोकप्रिय हो गया। LZW व्यावसायिक अनुप्रयोगों में व्यापक रूप से उपयोग किए जाने वाले पहले संपीड़न एल्गोरिदम में से एक था।
  • 1990 का दशक: एलजेड एल्गोरिदम के वेरिएंट का विकास जारी रहा, जिससे अधिक उन्नत संपीड़न विधियों का विकास हुआ जैसे एलजेडएमए (लेम्पेल-ज़िव-मार्कोव श्रृंखला एल्गोरिदम) जिसका उपयोग 7जेड और एक्सजेड जैसे प्रारूपों में किया जाता है। जो उच्च संपीड़न अनुपात प्रदान करते हैं।
  • 2000 के दशक: एलजेड-आधारित संपीड़न तकनीक, विशेष रूप से एलजेडडब्ल्यू, कई फ़ाइल स्वरूपों और प्रोटोकॉल में एम्बेडेड हो गईं, हालांकि जीआईएफ जैसे कुछ में पेटेंट-संबंधित मुद्दों का सामना करना पड़ा, जिसने उनके उपयोग को प्रभावित किया।
  • 2010 का दशक: एलजेड-आधारित एल्गोरिदम, विशेष रूप से एलजेडएमए और इसके वेरिएंट, आधुनिक संपीड़न सॉफ्टवेयर में मूलभूत बने हुए हैं, जो उचित प्रदर्शन के साथ उच्च संपीड़न दक्षता को संतुलित करते हैं। सॉफ़्टवेयर वितरण, संग्रह और डेटा भंडारण में इनका व्यापक रूप से उपयोग जारी है।
  • 2020: एलजेड प्रारूप संपीड़न के लिए एक विश्वसनीय और कुशल विकल्प बना हुआ है, खासकर ऐसे वातावरण में जहां गति और सरलता को प्राथमिकता दी जाती है।

एलजेड संग्रह की विशेषताएं

एलजेड संग्रह प्रारूप एक सीधी संरचना का पालन करता है, व्यापक सुविधाओं पर गति को प्राथमिकता देता है। यहां, पुरानी संपीड़ित फ़ाइलों के साथ काम करने और संपीड़न प्रौद्योगिकियों के विकास का मूल्यांकन करने के लिए एलजेड संग्रह की मूल संरचना महत्वपूर्ण है।

  • एकल-फ़ाइल संपीड़न: आमतौर पर एक फ़ाइल को .lz संग्रह में संपीड़ित करता है।
  • एलजेडडब्ल्यू एल्गोरिदम: लेम्पेल-ज़िव-वेल्च संपीड़न विधि को नियोजित करता है।
  • मेटाडेटा का अभाव: मूल फ़ाइल के बारे में सीमित या कोई मेटाडेटा संग्रह में संग्रहीत नहीं है।
  • सरलता: प्रारूप की सीधी संरचना इसकी तेज़ संपीड़न और डीकंप्रेसन गति में योगदान करती है।

एलजेड पुरालेख संपीड़न विधियाँ

एलजेड संग्रह प्रारूप लेम्पेल-ज़िव (एलजेड) एल्गोरिदम का उपयोग करता है, जो अपनी सादगी और गति के लिए प्रसिद्ध है, जो इसे उन परिदृश्यों में एक पसंदीदा विकल्प बनाता है जहां त्वरित संपीड़न और डीकंप्रेसन महत्वपूर्ण हैं। नीचे एलजेड से जुड़ी संपीड़न विधियों का अवलोकन दिया गया है:

  1. लेम्पेल-ज़िव एल्गोरिदम: एलजेड संग्रह प्रारूप का मूल एलजेड एल्गोरिदम पर आधारित है, एक दोषरहित संपीड़न विधि जो छोटे कोड के साथ दोहराए गए अनुक्रमों को प्रतिस्थापित करके डेटा में अतिरेक को पहचानती है और समाप्त करती है। एलजेड एल्गोरिदम अनुक्रमों का एक शब्दकोश बनाकर काम करता है क्योंकि यह डेटा को संसाधित करता है, जिससे बड़े और दोहराव वाले डेटासेट के कुशल संपीड़न की अनुमति मिलती है। यह विधि उन परिदृश्यों में विशेष रूप से प्रभावी है जहां डेटा पैटर्न सुसंगत और पूर्वानुमानित हैं।
  2. स्लाइडिंग विंडो तकनीक: एलजेड एल्गोरिदम आम तौर पर एक स्लाइडिंग विंडो तंत्र को नियोजित करता है, जहां एक निश्चित आकार की विंडो बार-बार अनुक्रम खोजने के लिए इनपुट डेटा स्ट्रीम पर चलती है। यह दृष्टिकोण एल्गोरिथम को महत्वपूर्ण संपीड़न प्राप्त करते हुए एक प्रबंधनीय शब्दकोश आकार बनाए रखने की अनुमति देता है। स्लाइडिंग विंडो मेमोरी उपयोग के साथ संपीड़न दक्षता को संतुलित करने में सहायक है, जो एलजेड विधि को सीमित संसाधनों वाले सिस्टम के लिए उपयुक्त बनाती है।
  3. चेकसम और त्रुटि का पता लगाना: जबकि एलजेड प्रारूप संपीड़न पर केंद्रित है, इसमें संपीड़ित डेटा की अखंडता सुनिश्चित करने के लिए सीआरसी 32 जैसे बुनियादी चेकसम तंत्र भी शामिल हो सकते हैं। ये चेकसम भंडारण या ट्रांसमिशन के दौरान होने वाली त्रुटियों का पता लगाने में मदद करते हैं, यह सुनिश्चित करते हुए कि विघटित डेटा सटीक और असंक्रमित रहता है।
  4. वैकल्पिक संवर्द्धन: कुछ कार्यान्वयन में, एलजेड संपीड़न विधि को रन-लेंथ एन्कोडिंग (आरएलई) या डेल्टा एन्कोडिंग जैसी अतिरिक्त तकनीकों के साथ बढ़ाया जा सकता है, जो संपीड़ित डेटा के आकार को और कम कर सकता है। ये वैकल्पिक संवर्द्धन संग्रह के भीतर विशिष्ट प्रकार के डेटा पर लागू होते हैं, जिससे छवियों या निष्पादन योग्य कोड जैसे कुछ सामग्री प्रकारों के अधिक कुशल संपीड़न की अनुमति मिलती है।

.lz समर्थित संचालन

Aspose.Zip .lz अभिलेखागार के साथ काम करने के लिए व्यापक समर्थन प्रदान करता है, जिससे संपीड़ित फ़ाइलों को प्रबंधित करना आसान हो जाता है। यहाँ आप क्या कर सकते हैं:

  • पूर्ण निष्कर्षण: मूल सामग्री की अखंडता और संरचना को संरक्षित करते हुए, .lz संग्रह से सभी फ़ाइलें आसानी से निकालें।
  • चयनात्मक निष्कर्षण: एक .lz संग्रह के भीतर विशिष्ट फ़ाइलों को लक्षित करें, जो फ़ाइल नाम या अन्य मानदंडों के आधार पर सटीक डेटा पुनर्प्राप्ति या चयनात्मक डीकंप्रेसन की अनुमति देता है।
  • डेटा संपीड़न: फ़ाइल आकार को महत्वपूर्ण रूप से कम करने के लिए कुशल LZMA2 संपीड़न विधि का उपयोग करके फ़ाइलों और निर्देशिकाओं से .lz संग्रह बनाएं।
  • कस्टम संपीड़न सेटिंग्स: संपीड़न गति और फ़ाइल आकार के बीच संतुलन बनाने के लिए संपीड़न स्तर और अन्य मापदंडों को समायोजित करें, प्रक्रिया को अपनी विशिष्ट आवश्यकताओं के अनुरूप बनाएं।

.LZ फ़ाइल की संरचना

चूंकि Lzip प्रारूप एकाधिक फ़ाइलों को संपीड़ित नहीं करता है और इसके मेटाडेटा को संग्रहीत नहीं करता है, इसलिए इसे अक्सर संयोजन tar उपयोगिता के साथ उपयोग किया जाता है।. एलज़िप संग्रह प्रारूप को दक्षता और गति पर ध्यान देने के साथ डिज़ाइन किया गया है, जो एक स्तरित संरचना का उपयोग करता है जो त्वरित संपीड़न और डीकंप्रेसन की सुविधा देता है। Lzip संग्रह में संग्रह में एक-एक करके संग्रहीत एक या कई सदस्य होते हैं। Lzip सदस्य की संरचना में निम्नलिखित घटक शामिल हैं:

  1. ब्लॉक हेडर:

    • मैजिक नंबर: एक अद्वितीय पहचानकर्ता जो एलज़िप संग्रह की शुरुआत का संकेत देता है, यह सुनिश्चित करता है कि फ़ाइल एक वैध एलज़िप प्रारूप के रूप में पहचानी गई है।
    • संस्करण की जानकारी: उपयोग किए गए Lzip के संस्करण को इंगित करता है, जो विभिन्न डीकंप्रेसन टूल के साथ भविष्य में अनुकूलता सुनिश्चित करने में मदद करता है। अब इसका मान “1” है।
    • शब्दकोश का आकार: यह फ़ील्ड आगामी डेटा ब्लॉक के लिए उपयोग किए जाने वाले LZMA संपीड़न के विवरण के बारे में जानकारी प्रदान करता है।
  2. संपीड़ित डेटा ब्लॉक:

    • संपीड़ित पेलोड: एलजेड संग्रह का मूल, इस अनुभाग में संपीड़ित डेटा स्ट्रीम शामिल है। लेम्पेल-ज़िव-मार्कोव श्रृंखला एल्गोरिदम मूल डेटा को कोड की एक श्रृंखला में संसाधित करता है जो दोहराए गए अनुक्रमों का प्रतिनिधित्व करता है, जिससे फ़ाइल का आकार काफी कम हो जाता है। समान संपीड़न एल्गोरिदम xz और 7z प्रारूपों में समर्थित है।
  3. ब्लॉक फूटर:

    • चेकसम/हैश: संपीड़ित डेटा की अखंडता को सत्यापित करने के लिए एक चेकसम (जैसे CRC32) या क्रिप्टोग्राफ़िक हैश (जैसे SHA-256) शामिल किया गया है। यह सुनिश्चित करता है कि प्रसारण या भंडारण के दौरान संग्रह के साथ छेड़छाड़ या दूषित नहीं किया गया है।
    • डेटा आकार: इस ब्लॉक में संपीड़ित मूल फ़ाइल के एक टुकड़े का आकार।
    • मेम्डर आकार: संपीड़ित आकार और ऑफसेट के साथ वितरित सूचकांक का एक हिस्सा, जो स्वतंत्र रूप से ब्लॉक निकालने की अनुमति देता है।

.LZ फ़ाइल की संरचना

एलजेड प्रारूप की लोकप्रियता

लेम्पेल-ज़िव संपीड़न एल्गोरिदम पर आधारित एलजेड संग्रह प्रारूप, डेटा संपीड़न की दुनिया में एक मूलभूत तकनीक रही है। इसके व्यापक रूप से अपनाने का श्रेय इसकी सादगी, दक्षता और महत्वपूर्ण संपीड़न अनुपात प्राप्त करने की क्षमता को दिया जाता है, विशेष रूप से दोहराए जाने वाले पैटर्न वाले डेटा के लिए। एलजेड-आधारित संपीड़न विधियों को विभिन्न फ़ाइल स्वरूपों और संपीड़न उपकरणों में शामिल किया गया है, जिससे एलजेड प्रारूप डेटा भंडारण, ट्रांसमिशन और अभिलेखीय प्रक्रियाओं में एक बहुमुखी और आवश्यक घटक बन गया है। हालाँकि LZMA और ब्रॉटली जैसे नए संपीड़न एल्गोरिदम उभरे हैं, LZ प्रारूप संपीड़न गति और प्रभावशीलता के संतुलन के कारण प्रासंगिक बना हुआ है।
UNIX और Linux वातावरण में, LZ संपीड़न का उपयोग अक्सर अन्य उपकरणों, जैसे टार, के साथ संयोजन में किया जाता है। सॉफ़्टवेयर वितरण और डेटा बैकअप के लिए संपीड़ित पुरालेख बनाना। कई संपीड़न उपयोगिताओं में इसके एकीकरण ने विंडोज़ और मैकओएस सहित विभिन्न प्लेटफार्मों पर इसके निरंतर उपयोग को सुनिश्चित किया है। हालाँकि LZ प्रारूप को ZIP या GZIP जैसे अन्य संपीड़न प्रारूपों के रूप में व्यापक रूप से मान्यता नहीं दी जा सकती है, लेकिन डेटा संपीड़न तकनीक पर इसका प्रभाव निर्विवाद है, और इसे विभिन्न परिदृश्यों में नियोजित किया जाना जारी है जहां तेज़, विश्वसनीय संपीड़न आवश्यक है।

एलजेड अभिलेखागार का उपयोग करने के उदाहरण

यह अनुभाग C#, Java और Python.NET का उपयोग करके LZ अभिलेखों को संपीड़ित करने और खोलने का तरीका प्रदर्शित करने वाले कोड उदाहरण प्रदान करता है। ये उदाहरण LZ फ़ाइलों को प्रबंधित करने के लिए LzipArchive जैसे पुस्तकालयों और कक्षाओं का उपयोग करते हैं, जो आधुनिक प्रोग्रामिंग वातावरण में LZ संपीड़न के व्यावहारिक उपयोग को दर्शाते हैं।

Compresses a file into .LZ archive using the LzipArchive class in C#.

    using (LzipArchive archive = new LzipArchive())
    {
        archive.SetSource("data.bin");
        archive.Save("data.bin.lz");
    }

Extract LZip Archive using C#

    using (FileStream sourceLzipFile = File.Open("data.bin.lz", FileMode.Open))
    {
        using (FileStream extractedFile = File.Open("data.bin", FileMode.Create))
        {
            using (LzipArchive archive = new LzipArchive(sourceLzipFile))
            {
                archive.Extract(extractedFile);
            }
        }
    }

Compresses a file into .LZ archive using the LzipArchive class in Java.

    try (LzipArchive archive = new LzipArchive()) {
        archive.setSource("data.bin");
        archive.save("data.bin.lz");
    }

Extract LZip Archive using Java

    try (FileInputStream sourceLzipFile = new FileInputStream("data.bin.lz")) {
        try (FileOutputStream extractedFile = new FileOutputStream("data.bin")) {
            try (LzipArchive archive = new LzipArchive(sourceLzipFile)) {
                archive.extract(extractedFile);
            }
        }
    } catch (IOException ex) {
    }

Compresses a file into .LZ archive using the LzipArchive class using Python.Net

    with aspose.zip.lzip.LzipArchive() as archive:
        archive.set_source("data.bin")
        archive.save("data.bin.lz")

Extract Lzip Archive using Python.Net

    with io.FileIO("data.bin.lz", "rb") as source_lzip_file:
        with io.FileIO("data.bin", "x") as extracted_file:
            with aspose.zip.lzip.LzipArchive(source_lzip_file) as archive:
                archive.extract(extracted_file)

Aspose.Zip offers individual archive processing APIs for popular development environments, listed below:

Aspose.Zip for .NETAspose.Zip via JavaAspose.Zip via Python.NET

अतिरिक्त जानकारी

लोग पूछ रहे हैं

1. क्या LZ संग्रह प्रारूप सभी ऑपरेटिंग सिस्टम पर समर्थित है?

LZ संग्रह प्रारूप UNIX, Linux, Windows और macOS सहित कई प्लेटफार्मों पर समर्थित है। हालांकि यह आमतौर पर UNIX-जैसे वातावरण से जुड़ा हुआ है, LZ अभिलेखागार को संभालने वाले उपकरण और लाइब्रेरी सभी प्रमुख ऑपरेटिंग सिस्टम के लिए उपलब्ध हैं।

2. एलजेड अभिलेखागार का उपयोग करने के क्या फायदे हैं?

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

3. क्या मैं एकाधिक फ़ाइलों को एक ही LZ संग्रह में संपीड़ित कर सकता हूँ?

LZ प्रारूप का उपयोग आमतौर पर एकल फ़ाइलों को संपीड़ित करने के लिए किया जाता है। एकाधिक फ़ाइलों को संपीड़ित करने के लिए, आपको पहले उन्हें एक संग्रह में संयोजित करना होगा (जैसे टार का उपयोग करके टारबॉल), और फिर परिणामी संग्रह फ़ाइल को एलजेड संपीड़न के साथ संपीड़ित करना होगा। यह प्रक्रिया UNIX और Linux परिवेश में आम है।