กลับไปหน้าบทความ

อ่าน 6 นาที

คลังเอกสาร

Parchive ( คำผสม ระหว่าง parity archive และ Parity Volume Set Specification [ 1 ] [ 2 ] อย่างเป็นทางการ ) เป็น ระบบ รหัสลบ ที่สร้าง ไฟล์ par สำหรับการตรวจสอบความสมบูรณ์ของ ข้อมูล...

คลังเอกสาร

คลังเอกสาร
นามสกุลไฟล์
.par, .par2, .p??, (.par3 อนาคต)
ประเภทของรูปแบบรหัสลบ , ไฟล์เก็บถาวร

Parchive ( คำผสมระหว่างparity archiveและParity Volume Set Specification [ 1 ] [ 2 ] อย่างเป็นทางการ ) เป็น ระบบ รหัสลบที่สร้าง ไฟล์ parสำหรับการตรวจสอบความสมบูรณ์ของข้อมูล ด้วย checksumพร้อมความสามารถในการดำเนิน การ กู้คืนข้อมูลที่สามารถซ่อมแซมหรือสร้างข้อมูลที่เสียหายหรือสูญหายขึ้นใหม่ได้

เดิมที Parchive ถูกเขียนขึ้นเพื่อแก้ปัญหาการแชร์ไฟล์ที่เชื่อถือได้บนUsenet [ 3 ]แต่สามารถใช้เพื่อปกป้องข้อมูลทุกประเภทจากการเสียหายของข้อมูลการเสื่อมสภาพของดิสก์ การเสื่อมสภาพของบิต และความเสียหายโดยไม่ได้ตั้งใจหรือโดย เจตนา ร้าย แม้จะมีชื่อว่า Parchive แต่จริงๆ แล้วมันใช้เทคนิคขั้นสูงกว่า (โดยเฉพาะรหัสแก้ไขข้อผิดพลาด ) มากกว่าวิธีการพาริตี แบบง่ายๆ ในการ ตรวจจับข้อผิดพลาด

ณ ปี 2015 PAR1ล้าสมัยแล้วPAR2มีความสมบูรณ์สำหรับการใช้งานอย่างแพร่หลาย และPAR3เป็นเวอร์ชันทดลองที่ยุติการพัฒนาโดย Yutaka Sawada ผู้เขียน MultiPar [ 4 ] [ 5 ] [ 6 ] [ 7 ] โครงการ SourceForge Parchive ดั้งเดิมไม่ได้ใช้งานมาตั้งแต่ 30 เมษายน 2015 [ 8 ]ข้อกำหนด PAR3 ใหม่ได้รับการพัฒนาตั้งแต่ 28 เมษายน 2019 โดย Michael Nahas ผู้เขียนข้อกำหนด PAR2 เวอร์ชันอัลฟ่าของข้อกำหนด PAR3 ได้รับการเผยแพร่เมื่อวันที่ 29 มกราคม 2022 [ 9 ]ในขณะที่โปรแกรมยังอยู่ระหว่างการพัฒนา

ประวัติศาสตร์

Parchive มีจุดประสงค์เพื่อเพิ่มความน่าเชื่อถือในการถ่ายโอนไฟล์ผ่านกลุ่มข่าว Usenet Usenet เดิมทีได้รับการออกแบบมาสำหรับการสนทนาแบบไม่เป็นทางการ และโปรโตคอลพื้นฐานNNTP ไม่ได้ออกแบบมาเพื่อส่งข้อมูลไบนารีแบบไม่จำกัด อีกข้อจำกัดหนึ่งซึ่งยอมรับได้สำหรับการสนทนาแต่ไม่ยอมรับได้สำหรับไฟล์คือข้อความมักจะมีความยาวค่อนข้างสั้นและจำกัดอยู่ที่ ข้อความASCII 7 บิต[ 10 ]

มีการคิดค้นเทคนิคต่างๆ เพื่อส่งไฟล์ผ่าน Usenet เช่นuuencodingและBase64ต่อมาซอฟต์แวร์ Usenet อนุญาตให้ใช้Extended ASCII 8 บิต ซึ่งทำให้สามารถใช้เทคนิคใหม่ๆ เช่นyEncได้ ไฟล์ขนาดใหญ่ถูกแบ่งออกเป็นส่วนๆ เพื่อลดผลกระทบจากการดาวน์โหลดที่เสียหาย แต่ลักษณะที่ไม่น่าเชื่อถือของ Usenet ก็ยังคงอยู่

ด้วยการเปิดตัว Parchive ทำให้สามารถสร้างไฟล์พาริตี (parity file) แล้วอัปโหลดไปพร้อมกับไฟล์ข้อมูลต้นฉบับได้ หากไฟล์ข้อมูลใดเสียหายหรือสูญหายระหว่างการส่งต่อระหว่างเซิร์ฟเวอร์ Usenet ผู้ใช้สามารถดาวน์โหลดไฟล์พาริตีและใช้เพื่อกู้คืนไฟล์ที่เสียหายหรือสูญหายได้ Parchive ยังรวมถึงการสร้างไฟล์ดัชนีขนาดเล็ก (*.par ในเวอร์ชัน 1 และ *.par2 ในเวอร์ชัน 2) ซึ่งไม่มีข้อมูลการกู้คืนใดๆ ดัชนีเหล่านี้มีแฮชไฟล์ที่สามารถใช้เพื่อระบุไฟล์เป้าหมายและตรวจสอบความสมบูรณ์ของไฟล์ได้อย่างรวดเร็ว

เนื่องจากไฟล์ดัชนีมีขนาดเล็กมาก จึงช่วยลดปริมาณข้อมูลเพิ่มเติมที่ต้องดาวน์โหลดจาก Usenet เพื่อตรวจสอบว่าไฟล์ข้อมูลทั้งหมดมีอยู่ครบถ้วนและไม่เสียหาย หรือเพื่อกำหนดจำนวนวอลุ่มพาริตีที่จำเป็นในการซ่อมแซมความเสียหายหรือสร้างไฟล์ที่หายไปขึ้นใหม่ ไฟล์ดัชนีมีประโยชน์มากที่สุดในเวอร์ชัน 1 ซึ่งวอลุ่มพาริตีมีขนาดใหญ่กว่าไฟล์ดัชนีขนาดเล็กมาก วอลุ่มพาริตีขนาดใหญ่เหล่านี้มีข้อมูลการกู้คืนจริงพร้อมกับสำเนาข้อมูลในไฟล์ดัชนี (ซึ่งทำให้สามารถใช้ตรวจสอบความสมบูรณ์ของไฟล์ข้อมูลได้ด้วยตัวเองหากไม่มีไฟล์ดัชนีขนาดเล็ก)

ในเดือนกรกฎาคม พ.ศ. 2544 Tobias Rieper และ Stefan Wehlus ได้เสนอข้อกำหนด Parity Volume Set และด้วยความช่วยเหลือจากสมาชิกโครงการคนอื่นๆ ข้อกำหนดเวอร์ชัน 1.0 ได้รับการเผยแพร่ในเดือนตุลาคม พ.ศ. 2544 [ 11 ] Par1 ใช้การแก้ไขข้อผิดพลาด Reed–Solomon เพื่อสร้างไฟล์กู้คืนใหม่ ไฟล์กู้คืนใดๆ ก็สามารถใช้สร้างไฟล์ที่หายไปจาก การดาวน์โหลดที่ไม่สมบูรณ์ได้

เวอร์ชัน 1 ได้รับการใช้งานอย่างแพร่หลายบน Usenet แต่ก็มีข้อจำกัดบางประการ:

  • มีข้อจำกัดในการจัดการไฟล์ได้มากที่สุด 255 ไฟล์
  • ไฟล์ที่กู้คืนจะต้องมีขนาดเท่ากับไฟล์อินพุตที่ใหญ่ที่สุด ดังนั้นจึงใช้งานได้ไม่ดีนักเมื่อไฟล์อินพุตมีขนาดแตกต่างกัน (ซึ่งทำให้ประโยชน์ใช้สอยลดลงเมื่อไม่ได้ใช้ร่วมกับเครื่องมือบีบอัด RAR เฉพาะของแต่ละโปรแกรม)
  • อัลกอริทึมการกู้คืนมีบั๊กเนื่องจากข้อบกพร่อง[ 12 ]ในเอกสารวิชาการ[ 13 ]ที่ใช้เป็นพื้นฐาน
  • มันมีความเชื่อมโยงอย่างแน่นหนากับ Usenet และมีความรู้สึกว่าเครื่องมือที่ใช้งานได้ทั่วไปมากกว่าอาจดึงดูดกลุ่มผู้ใช้ได้กว้างกว่า

ในเดือนมกราคม พ.ศ. 2545 Howard Fukada เสนอว่าควรมีการกำหนดข้อกำหนด Par2 ใหม่ โดยมีการเปลี่ยนแปลงที่สำคัญคือ การตรวจสอบและซ่อมแซมข้อมูลควรทำงานกับบล็อกข้อมูลแทนที่จะเป็นไฟล์ทั้งหมด และอัลกอริทึมควรเปลี่ยนไปใช้ตัวเลข 16 บิตแทนที่จะเป็นตัวเลข 8 บิตที่ PAR1 ใช้ Michael Nahas และ Peter Clements ได้นำแนวคิดเหล่านี้ไปใช้ในเดือนกรกฎาคม พ.ศ. 2545 โดยได้รับข้อมูลเพิ่มเติมจาก Paul Nettle และ Ryan Gallagher (ซึ่งทั้งคู่เป็นผู้เขียนไคลเอนต์ Par1) ข้อกำหนด Parchive เวอร์ชัน 2.0 ได้รับการเผยแพร่โดย Michael Nahas ในเดือนกันยายน พ.ศ. 2545 [ 14 ]

จากนั้น Peter Clements ได้เขียนโปรแกรม Par2 สองเวอร์ชันแรก คือQuickParและ par2cmdline หลังจากถูกทิ้งร้างไปตั้งแต่ปี 2004 Paul Houle จึงสร้าง phpar2 ขึ้นมาแทนที่ par2cmdline และ Yutaka Sawada ก็สร้าง MultiPar ขึ้นมาแทนที่ QuickPar โดย MultiPar ใช้ par2j.exe (ซึ่งใช้เทคนิคการเพิ่มประสิทธิภาพบางส่วนจาก par2cmdline) เป็นกลไกเบื้องหลังของ MultiPar

เวอร์ชัน

ไฟล์รูปแบบเวอร์ชัน 1 และ 2 ไม่สามารถใช้งานร่วมกันได้ (อย่างไรก็ตาม โปรแกรมไคลเอ็นต์หลายโปรแกรมรองรับทั้งสองเวอร์ชัน)

พาร์1

สำหรับ Par1 ไฟล์f1 , f2 , ..., fnนั้น Parchive ประกอบด้วยไฟล์ดัชนี ( 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 อย่างไรก็ตาม จนถึงปัจจุบัน ข้อกำหนดนี้ยังคงเป็นแบบปิด (closed source) โดยเจ้าของข้อกำหนดคือ ยูทากะ ซาวาดะ

การอภิปรายเกี่ยวกับรูปแบบใหม่เริ่มต้นขึ้นในส่วนปัญหาของ GitHub ในโปรเจกต์ par2cmdline ที่ได้รับการดูแลรักษา เมื่อวันที่ 29 มกราคม 2019 การอภิปรายนำไปสู่รูปแบบใหม่ซึ่งมีชื่อว่า Par3 เช่นกัน ข้อกำหนดของรูปแบบ Par3 ใหม่นี้ได้รับการเผยแพร่บน GitHub แล้วแต่ยังคงเป็นร่างฉบับอัลฟ่า ณ วันที่ 28 มกราคม 2022 ข้อกำหนดนี้เขียนโดย Michael Nahas ผู้เขียนข้อกำหนด Par2 โดยได้รับความช่วยเหลือจาก Yutaka Sawada, animetosho และ malaire

รูปแบบใหม่นี้อ้างว่ามีข้อดีหลายประการเหนือกว่ารูปแบบ Par2 รวมถึงการรองรับสิ่งต่อไปนี้:

  • ไฟล์ มากกว่า 2 16 ไฟล์ และ บล็อกมากกว่า 2 16 บล็อก
  • การรวมไฟล์ขนาดเล็กเข้าไว้ในบล็อกเดียว รวมถึงการกำจัดไฟล์ซ้ำซ้อนเมื่อบล็อกหนึ่งปรากฏในหลายไฟล์
  • ชื่อไฟล์แบบUTF-8
  • สิทธิ์การเข้าถึงไฟล์, ฮาร์ดลิงก์, ซอฟต์ลิงก์ และไดเร็กทอรีว่างเปล่า
  • การฝังข้อมูล PAR ลงในรูปแบบอื่นๆ เช่นไฟล์ ZIPหรืออิมเมจดิสก์ ISO
  • "การสำรองข้อมูลแบบเพิ่มทีละส่วน" คือการที่ผู้ใช้สร้างไฟล์กู้คืนสำหรับไฟล์หรือโฟลเดอร์บางส่วน เปลี่ยนแปลงข้อมูลบางส่วน แล้วสร้างไฟล์กู้คืนใหม่โดยใช้ไฟล์เก่าบางส่วนเป็นข้อมูลอ้างอิง
  • อัลกอริทึมการแก้ไขข้อผิดพลาดเพิ่มเติม (เช่นLDPCและเมทริกซ์สุ่มแบบเบาบาง )
  • รองรับเฉพาะแฮชBLAKE3 เท่านั้น และเลิกใช้แฮช MD5ที่ใช้ใน PAR2 แล้ว

ซอฟต์แวร์

หลายแพลตฟอร์ม

  • par2+tbb ( GPLv2 ) — เวอร์ชันแบบขนาน (มัลติเธรด) ของ par2cmdline 0.4 ที่ใช้TBBใช้งานได้เฉพาะกับ ซีพียูแบบ x86 เท่านั้น มีให้ใช้งานใน ระบบ FreeBSD Portsในชื่อpar2cmdline- tbb
  • par2cmdline เวอร์ชันดั้งเดิม  — (ล้าสมัยแล้ว) สามารถดาวน์โหลดได้จาก ระบบ FreeBSD Portsในชื่อpar2cmdline
  • par2cmdlineได้รับการพัฒนาต่อยอดโดย BlackIkeEagle
  • par2cmdline-mtเป็นอีกเวอร์ชันหนึ่งของ par2cmdline ที่รองรับการทำงานแบบมัลติเธรด โดยใช้OpenMP , GPLv2หรือเวอร์ชันที่ใหม่กว่า ปัจจุบันได้ถูกรวมเข้ากับเวอร์ชันที่ BlackIkeEagle พัฒนาและดูแลรักษาอยู่แล้ว
  • ParPar ( CC0 ) เป็นไคลเอ็นต์ PAR2 ประสิทธิภาพสูงแบบมัลติเธรด และ ไลบรารี Node.jsปัจจุบันไม่รองรับการตรวจสอบหรือซ่อมแซม และสามารถสร้างไฟล์เก็บถาวร PAR2 ได้เท่านั้น
  • par2deep ( LGPL-3.0 ) — สร้าง ตรวจสอบ และซ่อมแซมไฟล์ par2 แบบเรียกซ้ำ ทั้งบนบรรทัดคำสั่งและด้วยความช่วยเหลือของส่วนติดต่อผู้ใช้แบบกราฟิก มีให้ใช้งานใน ระบบ ดัชนีแพ็กเกจ Pythonในชื่อpar2deep
  • par2cron ( ลิขสิทธิ์ MIT ) เป็นเครื่องมือจัดระเบียบและระบบอัตโนมัติสำหรับการใช้ PAR2 เพื่อปกป้องโครงสร้างไดเร็กทอรีขนาดใหญ่ เช่น ไลบรารีสื่อหรือโฟลเดอร์สำรองข้อมูล ช่วยให้การสร้าง การตรวจสอบ และการซ่อมแซมชุด PAR2 เป็นไปโดยอัตโนมัติ และสามารถใช้งานร่วมกับงานCron ได้

วินโดวส์

  • MultiPar (ฟรีแวร์) — สร้างขึ้นบนคุณสมบัติและGUI ของ QuickPar และใช้ par2j.exe ของ Yutaka Sawada เป็นแบ็กเอนด์ PAR2 MultiPar รองรับหลายภาษาโดยใช้ Unicode ชื่อของ MultiPar มาจาก "ไคลเอนต์ PAR หลายภาษา" MultiPar ได้รับการตรวจสอบแล้วว่าใช้งานได้กับWineภายใต้TrueOSและUbuntuและอาจใช้งานได้กับระบบปฏิบัติการอื่นๆ ด้วย[ 16 ] [ 17 ]แม้ว่าส่วนประกอบ Par2 จะเป็นโอเพนซอร์ส (หรือจะเป็น) แต่ GUI ของ MultiPar ที่อยู่ด้านบนนั้นในปัจจุบันยังไม่ใช่โอเพนซอร์ส[ 18 ]
  • QuickPar (ซอฟต์แวร์ฟรี) — ไม่มีการบำรุงรักษาตั้งแต่ปี 2004 และถูกแทนที่ด้วย MultiPar แล้ว
  • phpar2  — โปรแกรม par2cmdline ขั้นสูง พร้อมระบบมัลติเธรดและโค้ดแอสเซมเบลอร์ที่ปรับแต่งมาเป็นพิเศษ (เร็วกว่า QuickPar 0.9.1 ประมาณ 66%)
  • Mirror  — การใช้งาน PAR ครั้งแรก ซึ่งไม่มีการบำรุงรักษามาตั้งแต่ปี 2001

แมคโอเอสเอ็กซ์

  • MacPAR deLuxe 4.2
  • แตกไฟล์ RARX

โพสิกซ์

ซอฟต์แวร์สำหรับระบบปฏิบัติการที่สอดคล้องกับมาตรฐาน POSIX :

  • Par2 สำหรับ KDE 4
  • PyPar2 1.4ซึ่งเป็นส่วนหน้าสำหรับ par2
  • จีพีอาร์2 2.03

ดูเพิ่มเติม

  • ข้อกำหนดชุดปริมาตรพาริตี้ 2.0 (2003)
  • โครงการ Parchive - ข้อมูลจำเพาะและหลักการทางคณิตศาสตร์ที่อยู่เบื้องหลังอย่างครบถ้วน
  • ข้อมูลเบื้องต้นเกี่ยวกับ PAR และ PAR2
  • คู่มือของสไลค์เกี่ยวกับการใช้งานกลุ่มข่าว Usenet: ไฟล์ PAR และ PAR2 ที่เก็บถาวรเมื่อวันที่ 5 ตุลาคม 2552 ที่Wayback Machine
  • คู่มือการซ่อมแซมไฟล์โดยใช้ PAR2
  • คู่มือการเปิดไฟล์ .par จาก UsenetReviewz
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Parchive&oldid=1357362987 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ คลังเอกสาร

Parchive ( คำผสม ระหว่าง parity archive และ Parity Volume Set Specification [ 1 ] [ 2 ] อย่างเป็นทางการ ) เป็น ระบบ รหัสลบ ที่สร้าง ไฟล์ par สำหรับการตรวจสอบความสมบูรณ์ของ ข้อมูล...

ประวัติศาสตร์

Parchive มีจุดประสงค์เพื่อเพิ่มความน่าเชื่อถือในการถ่ายโอนไฟล์ผ่าน กลุ่มข่าว Usenet Usenet เดิมทีได้รับการออกแบบมาสำหรับการสนทนาแบบไม่เป็นทางการ และโปรโตคอลพื้นฐาน NNTP ไม่ได้ออกแบบมาเพื่อส่งข้อมูลไบนารีแบบไม่จำกัด...

เวอร์ชัน

ไฟล์รูปแบบ เวอร์ชัน 1 และ 2 ไม่สามารถใช้งานร่วมกันได้ (อย่างไรก็ตาม โปรแกรมไคลเอ็นต์หลายโปรแกรมรองรับทั้งสองเวอร์ชัน)

พาร์1

สำหรับ Par1 ไฟล์ f1 , f2 , ..., fn นั้น Parchive ประกอบด้วยไฟล์ดัชนี ( f.par ) ซึ่งเป็นไฟล์ประเภท CRC ที่ไม่มีบล็อกการกู้คืน และ "วอลุ่มพาริตี" จำนวนหนึ่ง ( f.p01 , f.