تدفق Zstandard (.zst)
IETF قياسيZstandard (Zstd) خوارزمية حديثة للضغط دون فقدان البيانات، طورتها Meta للعمل في الوقت الفعلي. وتحقق نسب ضغط تقارب Deflate.
تحويل ZSTD إلى GZIP
محول مجاني داخل المتصفح للتحويل من ZSTD إلى GZIP. قم بتحويل الملفات فوراً على جهازك.
فحص البيانات الوصفية
تتعرف أنظمة التشغيل ومحللات الملفات على ملفات Zstandard من خلال فحص تسلسل البايت الثنائي البادئ:
توقيع رأس الملف على مستوى البايت (Magic Bytes)
تتعرف أنظمة التشغيل ومحللات الملفات على ملفات Zstandard من خلال فحص تسلسل البايت الثنائي البادئ:
التوقيع الست عشري (الإزاحة 0):
28 B5 2F FDتمثيل ASCII: (µ/ý
التوحيد القياسي: IETF RFC 8878
المواصفات الفنية
| هيكلية الحاوية | ترويسة إطار تتضمن البايتات المميزة 0xFD2FB528، ووصف الإطار، وكتل البيانات، ومجموع تحقق اختياريًا بطول 32 أو 64 بت |
| الضغط | ترميز إنتروبيا الحالات المحدودة (FSE) وترميز هوفمان وLZ77 بنوافذ بحث كبيرة (حتى 2 جيجابايت) |
| ترتيب البايتات (Endianness) | ترتيب البايتات والبتات من الأقل أهمية إلى الأعلى أهمية |
| مساحات الألوان | لا ينطبق (تدفق ضغط بيانات) |
| القنوات والبنية | ضغط تدفق بايتات للأغراض العامة |
| الحد الأقصى للأبعاد | سعة تدفق غير محدودة |
| الشفافية | استعادة البيانات دون فقدان، مطابقة للبتات الأصلية بنسبة 100% |
| البث والتحميل التدرجي | تدفق عالي الإنتاجية، مصمم للاستفادة القصوى من أقراص NVMe متعددة الجيجابت واتصالات الشبكة |
مصفوفة المقارنة التقنية: Zstandard مقابل المنافسين
| السمة التقنية | Zstandard (الحالي) | GZ | BROTLI | LZ4 |
|---|---|---|---|---|
| سرعة فك الضغط | فائقة السرعة (1.5 - 3.0 جيجابايت/ثانية) | متوسطة (نحو 300 ميجابايت/ثانية) | سريعة (نحو 400 ميجابايت/ثانية) | فائقة السرعة (نحو 4.0 جيجابايت/ثانية) |
| كفاءة الضغط | أعلى من Gzip، ومماثلة لـ Bzip2 | المعيار الأساسي | الأعلى عند ضغط نصوص الويب | منخفضة (تركّز على السرعة) |
| تدريب القواميس | قواميس مدرَّبة خصيصًا | بلا | قاموس ويب ثابت بحجم 120 كيلوبايت | بلا |
| مدى انتشارها في أنظمة التشغيل الحديثة | نواة لينكس، Arch، Fedora، Btrfs | متاح في بعض توزيعات Unix القديمة | متصفحات الويب وخوادم الحافة لشبكات توصيل المحتوى (CDN) | نواة لينكس ومحركات الألعاب |
أنماط التلف الشائعة ودليل الاسترداد بالنظام الست عشري
خطأ في إلغاء الضغط: 'ZSTD_error_checksum_wrong: Checksum verification failed'.
السبب الجذري: قد يؤدي تلف بايت في كتلة البيانات إلى فشل التحقق باستخدام xxHash (32 أو 64 بت).
الاسترداد: استخدم --force لتجاوز التحقق من المجموع الاختباري، أو أصلح الملف باستخدام محوّل Zstd من File2File.app.
تحليل الأمان ومتجهات الهجوم على المحلّل
يجب أن تتحقق آلة حالات فك ترميز FSE بدقة من أوصاف الجداول، تفاديًا للانتقال إلى حالات غير صالحة.
ناقلات الهجوم المعروفة
- قد تؤدي جداول عدّادات FSE المعيارية التالفة إلى البحث خارج حدود جدول الحالات.
- تجاوز سعة الأعداد الصحيحة أثناء تخصيص ذاكرة نافذة كبيرة.
- حجب الخدمة عبر استنفاد الذاكرة بسبب قاموس مخصص.
أفضل الممارسات الدفاعية: تحقّق من حدود حجم النافذة في رأس الإطار، وقيّد الحد الأقصى المسموح به لتخصيص الذاكرة للقواميس.
الأصول التاريخية والمحطات الرئيسية
المزايا الرئيسية والإيجابيات
- سرعة فائقة في فك الضغط: من 1.5 إلى 3.0 جيجابايت/ثانية لكل نواة، بما يواكب سرعة أقراص NVMe SSD عالية الأداء.
- يوفر 22 مستوى ضغط، من الضغط السريع جدًا في الوقت الفعلي إلى الضغط المكثف للأرشفة.
- يتيح تدريب قواميس مخصصة تحسين ضغط السجلات الصغيرة، مثل JSON وصفوف قواعد البيانات، بمقدار ثلاثة إلى خمسة أضعاف.
القيود الفنية والسلبيات
- يستهلك ذاكرة أكثر قليلًا من Deflate القديم عند استخدام مستويات ضغط عالية ونوافذ كبيرة.
- يتطلب أدوات حديثة؛ وقد تفتقر خوادم يونكس القديمة إلى أدوات zstd المثبتة مسبقًا.
- تحتاج تدفقات .zst الخام إلى حاوية مثل TAR للحفاظ على بنية المجلدات.
معلومات تقنية طريفة
- يستخدم Zstandard ترميز إنتروبيا الحالات المحدودة (tANS)، المبني على أنظمة الأعداد غير المتماثلة التي طورها جاريك دودا، لتحقيق حد إنتروبيا شانون بسرعة العتاد.
- حوّلت Arch Linux وFedora مديري الحزم لديهما (pacman وdnf) إلى استخدام .tar.zst، مما سرّع تثبيت البرامج بنسبة تزيد عن 400%.
- اختيرت البايتات المميزة 0x28 0xB5 0x2F 0xFD لسهولة التعرف إليها وتجنب تعارضها مع التنسيقات القديمة.
الأسئلة التقنية المتكررة
لماذا يحل Zstandard محل Gzip في أنظمة لينكس الحديثة؟
يضغط Zstandard الملفات إلى أحجام أصغر من Gzip، ويفك ضغطها بسرعة تفوقه من خمسة إلى عشرة أضعاف، ما يقلل كثيرًا زمن تثبيت البرامج واستهلاك المعالج على الخوادم.
ما المقصود بضغط القاموس في Zstd؟
يمكن تدريب Zstd على مجموعة ملفات صغيرة، مثل استجابات واجهة JSON، لإنشاء قاموس مخصص. وبالاستفادة من الأنماط المشتركة، قد تصبح الملفات اللاحقة أصغر حتى خمسة أضعاف بعد الضغط.
كيف أفك ضغط ملف .zst أو .zstd؟
يمكنك فك ضغط ملفات .zst و.tar.zst مباشرة في متصفحك باستخدام File2File.app، من دون تثبيت أدوات سطر الأوامر.