الأرشيف

Parchive (وهو اختصار لـ parity archive ، والمعروف رسميًا باسم Parity Volume Set Specification [ 1 ] [ 2 ] ) هو نظام رمز محو ينتج ملفات par للتحقق من سلامة البيانات باستخدام المجموع الاختباري ، مع القدرة على إجراء عمليات استعادة البيانات التي يمكنها إصلاح أو إعادة إنشاء البيانات التالفة أو المفقودة.

صُمم برنامج Parchive في الأصل لحل مشكلة مشاركة الملفات الموثوقة على شبكة Usenet ، [ 3 ] ولكنه يُستخدم لحماية أي نوع من البيانات من التلف ، وتلف القرص ، وتلف البتات ، والتلف العرضي أو المتعمد. وعلى الرغم من اسمه، يستخدم Parchive تقنيات أكثر تطورًا (وتحديدًا رموز تصحيح الأخطاء ) من طرق التكافؤ البسيطة للكشف عن الأخطاء .

اعتبارًا من عام 2015، أصبح PAR1 قديمًا، بينما أصبح PAR2 جاهزًا للاستخدام على نطاق واسع، أما PAR3 فهو نسخة تجريبية متوقفة طوّرها يوتاكا ساوادا، مؤلف MultiPar. [ 4 ] [ 5 ] [ 6 ] [ 7 ] توقف مشروع SourceForge Parchive الأصلي عن العمل منذ 30 أبريل 2015. [ 8 ] بدأ العمل على مواصفات PAR3 الجديدة منذ 28 أبريل 2019 من قِبل مايكل نحاس، مؤلف مواصفات PAR2. نُشرت نسخة تجريبية أولية (ألفا) من مواصفات PAR3 في 29 يناير 2022 [ 9 ] بينما لا يزال البرنامج قيد التطوير.

تاريخ

كان الهدف من برنامج Parchive هو زيادة موثوقية نقل الملفات عبر مجموعات أخبار Usenet . صُممت Usenet في الأصل للمحادثات غير الرسمية، ولم يُصمم البروتوكول الأساسي NNTP لنقل البيانات الثنائية العشوائية. ومن القيود الأخرى، التي كانت مقبولة للمحادثات ولكن ليس للملفات، أن الرسائل كانت عادةً قصيرة نسبيًا ومحدودة بنص ASCII ذي 7 بتات . [ 10 ]

تم ابتكار تقنيات متنوعة لإرسال الملفات عبر يوزنت، مثل ترميز uuencoding و Base64 . وفي وقت لاحق، سمح برنامج يوزنت باستخدام ترميز ASCII الموسع ذي 8 بت ، مما أتاح تقنيات جديدة مثل yEnc . تم تقسيم الملفات الكبيرة للحد من تأثير التنزيل التالف، لكن طبيعة يوزنت غير الموثوقة ظلت قائمة.

مع إطلاق برنامج Parchive، أصبح بالإمكان إنشاء ملفات التكافؤ التي تُرفع لاحقًا مع ملفات البيانات الأصلية. في حال تلف أي من ملفات البيانات أو فقدانها أثناء نقلها بين خوادم Usenet، يُمكن للمستخدمين تنزيل ملفات التكافؤ واستخدامها لاستعادة الملفات التالفة أو المفقودة. يتضمن Parchive إنشاء ملفات فهرسة صغيرة (*.par في الإصدار 1 و*.par2 في الإصدار 2) لا تحتوي على أي بيانات استعادة. تحتوي هذه الفهارس على تجزئات الملفات التي يُمكن استخدامها لتحديد الملفات المستهدفة بسرعة والتحقق من سلامتها.

نظرًا لصغر حجم ملفات الفهرس، فقد قللت من كمية البيانات الإضافية التي كان يجب تنزيلها من يوزنت للتحقق من وجود جميع ملفات البيانات وسلامتها، أو لتحديد عدد وحدات التخزين الاحتياطية المطلوبة لإصلاح أي تلف أو إعادة بناء أي ملفات مفقودة. وكانت هذه الملفات مفيدة للغاية في الإصدار الأول، حيث كانت وحدات التخزين الاحتياطية أكبر بكثير من ملفات الفهرس الصغيرة. تحتوي وحدات التخزين الاحتياطية الأكبر حجمًا على بيانات الاسترداد الفعلية بالإضافة إلى نسخة مكررة من المعلومات الموجودة في ملفات الفهرس (مما يسمح باستخدامها بشكل مستقل للتحقق من سلامة ملفات البيانات في حال عدم توفر ملف فهرس صغير).

في يوليو 2001، اقترح توبياس ريبر وستيفان ويلوس مواصفات مجموعة وحدات التخزين المتكافئة، وبمساعدة أعضاء آخرين في المشروع، نُشر الإصدار 1.0 من المواصفات في أكتوبر 2001. [ 11 ] استخدمت Par1 تصحيح أخطاء ريد-سولومون لإنشاء ملفات استرداد جديدة. يمكن استخدام أي من ملفات الاسترداد لإعادة بناء ملف مفقود من تنزيل غير مكتمل .

أصبح الإصدار الأول شائع الاستخدام على يوزنت، ولكنه عانى من بعض القيود:

  • كان يقتصر على معالجة 255 ملفًا كحد أقصى.
  • كان يجب أن يكون حجم ملفات الاسترداد مساوياً لحجم أكبر ملف إدخال، لذا لم يكن البرنامج فعالاً عند استخدام ملفات إدخال بأحجام مختلفة. (هذا الأمر حدّ من فائدته عند عدم استخدامه مع أداة ضغط RAR الخاصة).
  • كان لخوارزمية الاسترداد خلل، بسبب عيب [ 12 ] في الورقة الأكاديمية [ 13 ] التي استندت إليها.
  • كان مرتبطًا ارتباطًا وثيقًا بـ Usenet، وكان يُعتقد أن أداة أكثر عمومية قد يكون لها جمهور أوسع.

في يناير 2002، اقترح هوارد فوكادا وضع مواصفات جديدة لـ Par2 مع تغييرات جوهرية، منها أن يتم التحقق من البيانات وإصلاحها على مستوى كتل البيانات بدلاً من الملفات الكاملة، وأن يتم تحويل الخوارزمية إلى استخدام أرقام 16 بت بدلاً من أرقام 8 بت المستخدمة في PAR1. وقد تبنى مايكل نحاس وبيتر كليمنتس هذه الأفكار في يوليو 2002، مع مساهمات إضافية من بول نيتل وريان غالاغر (اللذين كتبا برامج عميل Par1). ونُشرت النسخة 2.0 من مواصفات Parchive بواسطة مايكل نحاس في سبتمبر 2002. [ 14 ]

ثم قام بيتر كليمنتس بكتابة أول تطبيقين لـ Par2، وهما QuickPar و par2cmdline. بعد أن توقف تطويرهما منذ عام 2004، أنشأ بول هول برنامج phpar2 ليحل محل par2cmdline. ثم أنشأ يوتاكا ساوادا برنامج MultiPar ليحل محل QuickPar. يستخدم MultiPar برنامج par2j.exe (المبني جزئيًا على تقنيات التحسين الخاصة بـ par2cmdline) كمحرك خلفي له.

الإصدارات

الإصداران 1 و 2 من تنسيق الملف غير متوافقين. (ومع ذلك، يدعم العديد من العملاء كلا الإصدارين.)

الفقرة 1

بالنسبة لـ Par1، تتكون ملفات f1 ، f2 ، ...، fn ، من ملف فهرس ( f.par )، وهو ملف من نوع CRC بدون كتل استرداد، وعدد من "وحدات تخزين التكافؤ" ( f.p01 ، f.p02 ، إلخ). إذا توفرت جميع الملفات الأصلية باستثناء ملف واحد (على سبيل المثال، f2 )، فمن الممكن إنشاء الملف المفقود f2 باستخدام جميع الملفات الأصلية الأخرى وأي وحدة تخزين تكافؤ. بدلاً من ذلك، يمكن إعادة إنشاء ملفين مفقودين من أي وحدتي تخزين تكافؤ، وهكذا. [ 15 ]

يدعم Par1 ما يصل إلى 256 ملفًا مصدرًا وملف استعادة.

الفقرة 2

تستخدم ملفات PAR2 عمومًا نظام التسمية/الامتداد التالي: filename.vol000+01.PAR2 ، filename.vol001+02.PAR2 ، filename.vol003+04.PAR2 ، filename.vol007+06.PAR2 ، وهكذا. يشير الرقم بعد علامة "+" في اسم الملف إلى عدد الكتل التي يحتويها، بينما يشير الرقم بعد "vol" إلى رقم كتلة الاسترداد الأولى داخل ملف PAR2. إذا ذكر ملف فهرس التنزيل أن 4 كتل مفقودة، فإن أسهل طريقة لإصلاح الملفات هي تنزيل filename.vol003+04.PAR2 . مع ذلك، ونظرًا لوجود ملفات احتياطية، يُمكن استخدام filename.vol007+06.PAR2 أيضًا. يوجد أيضًا ملف فهرس باسم filename.PAR2 ، وهو مطابق في وظيفته لملف الفهرس الصغير المستخدم في PAR1.

يدعم معيار Par2 ما يصل إلى 32,768 كتلة مصدر وما يصل إلى 65,535 كتلة استرداد. تُقسّم ملفات الإدخال إلى كتل متعددة متساوية الحجم، بحيث لا يشترط أن يكون حجم ملفات الاسترداد مساويًا لحجم أكبر ملف إدخال.

على الرغم من أن Unicode مذكور في مواصفات PAR2 كخيار، إلا أن معظم تطبيقات PAR2 لا تدعم Unicode.

تم تضمين دعم الدليل في مواصفات PAR2، ولكن معظم أو كل التطبيقات لا تدعمه.

بار 3

كان من المخطط أصلاً نشر مواصفات Par3 كتحسين لمواصفات Par2. ومع ذلك، وحتى الآن، ظلت هذه المواصفات مغلقة المصدر من قبل مالكها يوتاكا ساوادا.

بدأ نقاش حول صيغة جديدة في قسم المشكلات على منصة GitHub، ضمن فرع par2cmdline المُدار، بتاريخ 29 يناير 2019. وأسفر هذا النقاش عن صيغة جديدة تُعرف أيضًا باسم Par3. نُشرت مواصفات صيغة Par3 الجديدة على GitHub ، ولكنها لا تزال في مرحلة مسودة أولية (ألفا) حتى تاريخ 28 يناير 2022. وقد كتب هذه المواصفات مايكل نحاس، مؤلف مواصفات Par2، بمساعدة يوتاكا ساوادا، وanimetosho، وmalaire.

يدّعي النظام الجديد أنه يتمتع بمزايا متعددة مقارنة بنظام Par2، بما في ذلك دعم ما يلي:

  • أكثر من 216 ملفًا وأكثر من 216 كتلة.
  • تجميع الملفات الصغيرة في كتلة واحدة، بالإضافة إلى إزالة التكرار عندما تظهر كتلة في ملفات متعددة.
  • أسماء الملفات بصيغة UTF-8 .
  • أذونات الملفات، والروابط الصلبة، والروابط الرمزية/الناعمة، والمجلدات الفارغة.
  • تضمين بيانات PAR داخل تنسيقات أخرى، مثل ملفات ZIP المضغوطة أو صور أقراص ISO .
  • "النسخ الاحتياطية التزايدية"، حيث يقوم المستخدم بإنشاء ملفات استرداد لبعض الملفات أو المجلدات، وتغيير بعض البيانات، وإنشاء ملفات استرداد جديدة مع إعادة استخدام بعض الملفات القديمة.
  • المزيد من خوارزميات تصحيح الأخطاء (مثل LDPC والمصفوفة العشوائية المتفرقة ).
  • تجزئات BLAKE3 ، مع إسقاط دعم تجزئات MD5 المستخدمة في PAR2.

برمجة

متعدد المنصات

  • par2+tbb ( GPLv2 )  — نسخة متزامنة (متعددة الخيوط) من par2cmdline 0.4 باستخدام TBB . متوافقة فقط مع معالجات x86 . وهي متوفرة في نظام منافذ FreeBSD باسم par2cmdline-tbb .
  • par2cmdline الأصلي  — (مهجور). متوفر في نظام منافذ FreeBSD باسم par2cmdline .
  • تمت صيانة نسخة متفرعة من par2cmdline بواسطة BlackIkeEagle.
  • par2cmdline-mt هو إصدار آخر متعدد الخيوط من par2cmdline يستخدم OpenMP ، GPLv2 أو أحدث. تم دمجه حاليًا في نسخة BlackIkeEagle المعدلة ويتم صيانته هناك.
  • ParPar ( CC0 ) هو عميل PAR2 عالي الأداء ومتعدد الخيوط ومكتبة Node.js. لا يدعم التحقق أو الإصلاح، ويمكنه حاليًا إنشاء أرشيفات PAR2 فقط.
  • par2deep ( LGPL-3.0 )  — يُنشئ ملفات par2 ويتحقق منها ويصلحها بشكل متكرر، سواءً عبر سطر الأوامر أو باستخدام واجهة مستخدم رسومية. وهو متوفر في نظام فهرس حزم بايثون باسم par2deep .
  • par2cron ( مرخص بموجب رخصة MIT ) هي أداة تنظيم وأتمتة تستخدم PAR2 لحماية هياكل الدليل الكبيرة، مثل مكتبات الوسائط أو مجلدات النسخ الاحتياطي. تُسهّل هذه الأداة الإنشاء والتحقق والإصلاح الآلي باستخدام مجموعات PAR2، ويمكن استخدامها مع مهام Cron .

ويندوز

  • MultiPar (برنامج مجاني)  - يعتمد على ميزات QuickPar وواجهة المستخدم الرسومية ، ويستخدم par2j.exe من تطوير يوتاكا ساوادا كخادم خلفي لـ PAR2. يدعم MultiPar لغات متعددة باستخدام Unicode. اسم MultiPar مشتق من "عميل PAR متعدد اللغات". تم التحقق من توافق MultiPar مع Wine على نظامي TrueOS و Ubuntu ، وقد يعمل مع أنظمة تشغيل أخرى أيضًا. [ 16 ] [ 17 ] على الرغم من أن مكونات Par2 مفتوحة المصدر (أو ستصبح كذلك)، إلا أن واجهة المستخدم الرسومية لـ MultiPar المبنية عليها ليست مفتوحة المصدر حاليًا. [ 18 ]
  • QuickPar (برنامج مجاني)  - لم يتم تحديثه منذ عام 2004، وتم استبداله ببرنامج MultiPar.
  • phpar2  — par2cmdline متقدم مع تعدد الخيوط ورمز تجميع مُحسَّن للغاية (أسرع بنسبة 66% تقريبًا من QuickPar 0.9.1)
  • Mirror  — أول تطبيق لـ PAR، لم يتم صيانته منذ عام 2001.

نظام التشغيل ماك أو إس إكس

بوسيكس

برامج لأنظمة التشغيل المتوافقة مع معيار POSIX :

انظر أيضاً

مراجع

  1. ردًا على: تصحيح لـ Parchive على ويكيبيديا ، الرد رقم 3، بواسطة يوتاكا ساوادا: "عنوانهما الرسمي هو "مواصفات مجموعة مجلدات التكافؤ 1.0" و "مواصفات مجموعة مجلدات التكافؤ 2.0".
  2. ردًا على: تصحيح لـ Parchive على ويكيبيديا ، الرد رقم 3، بواسطة يوتاكا ساوادا: "عنوانهما الرسمي هو "مواصفات مجموعة مجلدات التكافؤ 1.0" و "مواصفات مجموعة مجلدات التكافؤ 2.0".
  3. "Parchive: Parity Archive Volume Set" . تم الاطلاع عليه بتاريخ 29-10-2009 . كانت الفكرة الأصلية وراء هذا المشروع هي توفير أداة لتطبيق مفاهيم إمكانية استعادة البيانات لأنظمة RAID على نشر واستعادة الأرشيفات متعددة الأجزاء على Usenet.
  4. "إمكانية وجود ملف PAR3 جديد" . مؤرشف من الأصل بتاريخ 2012-07-07 . تم الاطلاع عليه بتاريخ 2012-07-01 .
  5. "سؤال حول استخدامك لـ PAR3" . مؤرشف من الأصل بتاريخ 2014-03-09 . تم الاطلاع عليه بتاريخ 2012-07-01 .
  6. "خطر التعديل المقصود غير القابل للكشف" . مؤرشف من الأصل بتاريخ 9 مارس 2014. تم الاطلاع عليه بتاريخ 1 يوليو 2012 .
  7. «لم يكتمل اقتراح مواصفات PAR3 حتى أبريل 2011» . مؤرشف من الأصل بتاريخ 9 مارس 2014. تم الاطلاع عليه بتاريخ 1 يوليو 2012 .
  8. "Parchive: أداة أرشفة التكافؤ" . 30 أبريل 2015. تم الاسترجاع في 20 مايو 2020 .
  9. "مواصفات مجموعة مجلدات التكافؤ 3.0 [ 2022-01-28 مسودة ألفا ] " . مايكل نحاس، يوتاكا-ساوادا، أنيميتوشو، ومالاير.
  10. كانتور، برايان؛ لابسلي، فيل (فبراير 1986). "رموز الأحرف" . بروتوكول نقل أخبار الشبكة . IETF . ص 5. القسم 2.2. doi : 10.17487/RFC0977 . RFC 977. تاريخ الاسترجاع : 29-10-2009 .   
  11. نحاس، مايكل (14-10-2001). "مواصفات مجموعة وحدات التخزين المتكافئة الإصدار 1.0" . تم الاطلاع عليه بتاريخ 19-06-2017 .
  12. بلانك، جيمس س.؛ دينغ، يينغ (أبريل 2003). "ملاحظة: تصحيح للدرس التعليمي لعام 1997 حول ترميز ريد-سولومون" . تم الاطلاع عليه بتاريخ 29-10-2009 .
  13. بلانك، جيمس س. (سبتمبر 1997). "دليل تعليمي حول ترميز ريد-سولومون لتحمل الأعطال في الأنظمة الشبيهة بـ RAID" . تم الاسترجاع في 29-10-2009 .
  14. نحاس، مايكل؛ كليمنتس، بيتر؛ نيتل، بول؛ غالاغر، رايان (11 مايو 2003). "مواصفات مجموعة وحدات التخزين المتكافئة 2.0" . تم الاطلاع عليه بتاريخ 29 أكتوبر 2009 .
  15. وانغ، والاس (25-10-2004). "العثور على الأفلام (أو البرامج التلفزيونية): استعادة ملفات RAR المفقودة باستخدام ملفات PAR وPAR2" . كتاب مشاركة الملفات هذا ( الطبعة الأولى). سان فرانسيسكو، كاليفورنيا : دار نشر نو ستارش . الصفحات 164-167 . ISBN   978-1-59327-050-6تم الاطلاع عليه بتاريخ 24-09-2009 .
  16. "يعمل برنامج MultiPar مع نظام PCBSD 9.0" . مؤرشف من الأصل بتاريخ 28-09-2013 . تم الاطلاع عليه بتاريخ 27-02-2012 .
  17. العمل على أوبونتو 18.04 عبر واين
  18. "تواصلنا معك للاستفسار عن شفرة المصدر" . مؤرشف من الأصل بتاريخ 26-09-2013 . تم الاطلاع عليه بتاريخ 21-09-2013 .