รูปแบบไฟล์เก็บถาวร V7TAR เป็นระบบการบีบอัดและการจัดเก็บไฟล์ที่เป็นกรรมสิทธิ์ซึ่งพัฒนาโดย V7 Technologies ออกแบบมาเพื่อบีบอัดและจัดเก็บข้อมูลจำนวนมากอย่างมีประสิทธิภาพ พร้อมทั้งรักษาความสมบูรณ์และความปลอดภัยของข้อมูล V7TAR ใช้ขั้นตอนวิธีการบีบอัดขั้นสูงและเทคนิคการเข้ารหัสเพื่อให้แน่ใจว่าข้อมูลที่เก็บถาวรนั้นทั้งมีขนาดกะทัดรัดและปลอดภัย
ที่แกนหลัก รูปแบบ V7TAR นั้นอิงตามการผสมผสานระหว่างรูปแบบ TAR (Tape Archive) ที่รู้จักกันดีและขั้นตอนวิธีการบีบอัดและการเข้ารหัสแบบกำหนดเองของ V7 รูปแบบ TAR เป็นมาตรฐานที่กำหนดมานานสำหรับการรวมไฟล์หลายไฟล์เข้าเป็นไฟล์เก็บถาวรเดียว ซึ่งทำให้เป็นรากฐานที่เหมาะสำหรับ V7TAR
เมื่อสร้างไฟล์เก็บถาวร V7TAR ระบบจะวิเคราะห์ไฟล์อินพุตก่อนเพื่อกำหนดวิธีการบีบอัดที่เหมาะสมที่สุดสำหรับแต่ละประเภทไฟล์ V7 Technologies ได้พัฒนาชุดขั้นตอนวิธีการบีบอัดที่ปรับให้เหมาะกับประเภทไฟล์เฉพาะ เช่น ข้อความ รูปภาพ เสียง และวิดีโอ โดยการใช้ขั้นตอนวิธีการบีบอัดที่เหมาะสมที่สุดกับแต่ละไฟล์ V7TAR จึงบรรลุอัตราการบีบอัดที่เหนือกว่าเมื่อเปรียบเทียบกับขั้นตอนวิธีการบีบอัดทั่วไป
เมื่อไฟล์ถูกบีบอัดแล้ว V7TAR จะใช้ระบบการเข้ารหัสหลายระดับเพื่อปกป้องข้อมูลที่เก็บถาวร การเข้ารหัสระดับแรกใช้มาตรฐานการเข้ารหัสขั้นสูง (AES) พร้อมคีย์ 256 บิต AES เป็นขั้นตอนวิธีการเข้ารหัสแบบสมมาตรที่ได้รับการยอมรับอย่างกว้างขวางว่าเป็นหนึ่งในวิธีการเข้ารหัสที่ปลอดภัยที่สุดที่มีอยู่ ขนาดคีย์ 256 บิตให้ระดับความปลอดภัยที่สูงมาก ทำให้ผู้ใช้ที่ไม่ได้รับอ นุญาตไม่สามารถถอดรหัสข้อมูลได้โดยไม่มีคีย์ที่ถูกต้อง
นอกเหนือจากการเข้ารหัส AES แล้ว V7TAR ยังใช้ขั้นตอนวิธีการเข้ารหัสแบบกรรมสิทธิ์ที่พัฒนาโดย V7 Technologies ชั้นการเข้ารหัสรองนี้เพิ่มระดับความปลอดภัยพิเศษและรับรองว่าแม้ว่าการเข้ารหัส AES จะถูกบุกรุกเข้ามาได้ แต่ข้อมูลก็ยังคงได้รับการปกป้อง ขั้นตอนวิธีการเข้ารหัสแบบกรรมสิทธิ์นั้นเก็บเป็นความลับโดย V7 Technologies ซึ่งเพิ่มชั้นความคลุมเครือเพิ่มเติมให้กับกระบวนการเข้ารหัส
เพื่อเพิ่มความปลอดภัยมากยิ่งขึ้น V7TAR ใช้ระบบการจัดการคีย์ที่อนุญาตให้ใช้คีย์การเข้ารหัสหลายคีย์ภายในไฟล์เก็บถาวรเดียว ซึ่งหมายความว่าไฟล์หรือส่วนต่างๆ ของไฟล์เก็บถาวรสามารถเข้ารหัสด้วยคีย์ที่แตกต่างกัน ทำให้สามารถให้สิทธิ์เข้าถึงส่วนเฉพาะของไฟล์เก็บถาวรได้ในขณะที่รักษาความปลอดภัยของส่วนอื่นๆ ระบบการจัดการคีย์ยังรวมถึงคุณสมบัติการหมุนเวียนคีย์และการเพิกถอน ซึ่งช่วยให้สามารถอัปเดตหรือลบคีย์การเข้ารหัสได้อย่างปลอดภัยตามความจำเป็น
ในแง่ของการจัดระเบียบไฟล์ V7TAR ใช้โครงสร้างลำดับชั้นที่คล้ายกับระบบไฟล์แบบดั้งเดิม ไฟล์และไดเร็กทอรีจะถูกจัดเก็บภายในไฟล์เก็บถาวรในโครงสร้างแบบต้นไม้ โดยแต่ละไฟล์และไดเร็กทอรีจะมีเมตาดาต้าของตัวเอง เมตาดาต้านี้รวมถึงข้อมูลต่างๆ เช่น ชื่อไฟล์ ขนาดไฟล์ ไทม์สแตมป์ และสิทธิ์
หนึ่งในคุณสมบัติที่ไม่เหมือนใครของ V7TAR คือความสามารถในการจัดเก็บข้อมูลส่วนต่างสำหรับไฟล์ที่ได้รับการอัปเดต แทนที่จะจัดเก็บไฟล์ที่อัปเดตทั้งหมด V7TAR สามารถจัดเก็บเฉพาะการเปลี่ยนแปลงที่เกิดขึ้นกับไฟล์ตั้งแต่เวอร์ชันล่าสุด เทคนิคการบีบอัดส่วนต่างนี้จะลดขนาดของไฟล์เก็บถาวรลงอย่างมากเมื่อจัด การกับไฟล์ขนาดใหญ่ที่ได้รับการอัปเดตเล็กๆ น้อยๆ บ่อยครั้ง
V7TAR ยังรวมกลไกการตรวจจับและแก้ไขข้อผิดพลาดในตัวเพื่อให้แน่ใจว่าข้อมูลมีความสมบูรณ์ รูปแบบนี้ใช้ checksum และรหัสแก้ไขข้อผิดพลาดเพื่อตรวจจับและกู้คืนจากความเสียหายของข้อมูลที่อาจเกิดขึ้นระหว่างการจัดเก็บหรือการส่ง ซึ่งจะช่วยให้ข้อมูลที่เก็บถาวรยังคงสมบูรณ์และสามารถกู้คืนได้อย่างน่าเชื่อถือแม้ในกรณีที่ฮาร์ดแวร์ขัดข้องหรือเกิดข้อผิดพลาดอื่นๆ
เพื่อเพิ่มประสิทธิภาพ V7TAR รองรับการบีบอัดและการคลายการบีบอัดแบบมัลติเธรด ซึ่งช่วยให้ระบบสามารถใช้ประโยชน์จากโปรเซสเซอร์มัลติคอร์สมัยใหม่ได้อย่างเต็มที่ ซึ่งจะช่วยลดเวลาที่ใช้ในการสร้างและแยกไฟล์เก็บถาวรขนาดใหญ่ลงอย่างมาก รูปแบบนี้ยังรวมถึงการรองรับการบีบอัดแบบ solid ซึ่งจะช่วยปรับปรุงอัตราการบีบอัดให ้ดียิ่งขึ้นโดยการวิเคราะห์และบีบอัดไฟล์หลายไฟล์เข้าด้วยกันเป็นบล็อกเดียว
ในแง่ของความเข้ากันได้ V7 Technologies จัดเตรียมชุดพัฒนาซอฟต์แวร์ข้ามแพลตฟอร์ม (SDK) ที่ช่วยให้นักพัฒนาสามารถรวมการรองรับ V7TAR เข้ากับแอปพลิเคชันของตนได้ SDK ประกอบด้วยไลบรารีสำหรับการสร้าง การแยก และการจัดการไฟล์เก็บถาวร V7TAR รวมถึงเอกสารและตัวอย่างโค้ดเพื่อช่วยให้นักพัฒนาเริ่มต้นได้อย่างรวดเร็ว
หนึ่งในกรณีการใช้งานหลักสำหรับ V7TAR อยู่ในด้านการสำรองข้อมูลและการเก็บถาวร อัตราการบีบอัดที่สูงและการเข้ารหัสที่แข็งแกร่งของรูปแบบนี้ทำให้เป็นตัวเลือกที่เหมาะสำหรับการจัดเก็บข้อมูลที่มีความละเอียดอ่อนจำนวนมาก เช่น บันทึกรายการทางการเงิน ข้อมูลทางการแพทย์ หรือทรัพย์สินทางปัญญา ความสามารถของ V7TAR ในการจัดการการอัปเดตแบบเพิ่มหน่วยยังทำให้เหมาะสำหรับ การใช้งานในระบบควบคุมเวอร์ชันและแอปพลิเคชันอื่นๆ ที่ข้อมูลมีการเปลี่ยนแปลงไปตามกาลเวลา
อีกหนึ่งแอปพลิเคชันที่สำคัญของ V7TAR คือการแจกจ่ายซอฟต์แวร์และเนื้อหาดิจิทัล โดยการแพ็คเกจแอปพลิเคชันซอฟต์แวร์ ไลบรารี และสินทรัพย์ต่างๆ ลงในไฟล์เก็บถาวร V7TAR ที่บีบอัดและเข้ารหัสไว้ นักพัฒนาสามารถมั่นใจได้ว่าซอฟต์แวร์ของตนได้รับการปกป้องจากการปลอมแปลงและการเข้าถึงโดยไม่ได้รับอนุญาต คุณสมบัติการแก้ไขข้อผิดพลาดในตัวและการจัดการคีย์ของรูปแบบนี้ยังช่วยให้มั่นใจได้ว่าการแจกจ่ายซอฟต์แวร์ยังคงสมบูรณ์และปลอดภัยตลอดกระบวนการแจกจ่าย
โดยสรุป รูปแบบไฟล์เก็บถาวร V7TAR เป็นเครื่องมือที่มีประสิทธิภาพและหลากหลายสำหรับการบีบอัด การเข้ารหัส และการแพ็คเกจข้อมูล ขั้นตอนวิธีการบีบอัดขั้นสูง ระบบการเข้ารหัสหลายระดับ และกลไกการต รวจจับและแก้ไขข้อผิดพลาดที่แข็งแกร่ง ทำให้เป็นตัวเลือกที่เหมาะสำหรับแอปพลิเคชันที่หลากหลาย ตั้งแต่การสำรองข้อมูลและการเก็บถาวรไปจนถึงการแจกจ่ายซอฟต์แวร์และการควบคุมเวอร์ชัน เนื่องจากความปลอดภัยของข้อมูลและประสิทธิภาพในการจัดเก็บมีความสำคัญมากขึ้นในภูมิทัศน์ดิจิทัลในปัจจุบัน รูปแบบ V7TAR จึงอยู่ในตำแหน่งที่ดีที่จะตอบสนองความต้องการที่เปลี่ยนแปลงไปของทั้งธุรกิจและบุคคล
การบีบอัดไฟล์ช่วยลดความซ้ำซ้อนเพื่อให้ข้อมูลเดียวกันใช้บิตน้อยลง ขีดจำกัดสูงสุดของระยะทางที่คุณสามารถไปได้ถูกควบคุมโดยทฤษฎีข้อมูล: สำหรับการบีบอัดแบบไม่สูญเสียข้อมูล ขีดจำกัดคือเอนโทรปีของแหล่งที่มา (ดู ทฤษฎีบทการเข้ารหัสต้นทาง ของแชนนอนและบทความต้นฉบับของเข าในปี 1948 “ทฤษฎีทางคณิตศาสตร์ของการสื่อสาร”) สำหรับการบีบอัดแบบสูญเสียข้อมูล การแลกเปลี่ยนระหว่างอัตราและคุณภาพถูกจับโดย ทฤษฎีอัตรา-ความผิดเพี้ยน.
คอมเพรสเซอร์ส่วนใหญ่มีสองขั้นตอน ขั้นแรก แบบจำลอง จะทำนายหรือเปิดเผยโครงสร้างในข้อมูล ประการที่สอง ตัวเข้ารหัส จะเปลี่ยนการคาดการณ์เหล่านั้นให้เป็นรูปแบบบิตที่เกือบจะเหมาะสมที่สุด ตระกูลการสร้างแบบจำลองแบบคลาสสิกคือ Lempel–Ziv: LZ77 (1977) และ LZ78 (1978) ตรวจจับสตริงย่อยที่ซ้ำกันและส่งออกการอ้างอิงแทนไบต์ดิบ ในด้านการเข้ารหัส การเข้ารหัสฮัฟฟ์แมน (ดูบทความต้นฉบับ 1952) กำหนดรหัสที่สั้นกว่าให้กับสัญลักษณ์ที่มีแนวโน้มมากกว่า การเข้ารหัสเลขคณิต และ การเข้ารหัสช่วง เป็นทางเลือกที่ละเอียดกว่าซึ่งบีบเข้าใกล้ขีดจำกัดเอนโทรปีมากขึ้น ในขณะที่ ระบบเลขไม่สมมาตร (ANS) ที่ทันสมัยบรรลุการบีบอัดที่คล้ายกันด้วยการใช้งานที่ขับเคลื่อนด้วยตารางที่รวดเร็ว
DEFLATE (ใช้โดย gzip, zlib และ ZIP) รวม LZ77 เข้ากับการเข้ารหัสฮัฟฟ์แมน ข้อกำหนดของมันเป็นแบบสาธารณะ: DEFLATE RFC 1951, zlib wrapper RFC 1950, และรูปแบ บไฟล์ gzip RFC 1952. Gzip ถูกจัดเฟรมสำหรับการสตรีมและอย่างชัดเจน ไม่พยายามให้การเข้าถึงแบบสุ่ม. รูปภาพ PNG กำหนดมาตรฐาน DEFLATE เป็นวิธีการบีบอัดเพียงวิธีเดียว (โดยมีหน้าต่างสูงสุด 32 KiB) ตามข้อกำหนด PNG “วิธีการบีบอัด 0… deflate/inflate… มากที่สุด 32768 ไบต์” และ W3C/ISO PNG ฉบับที่ 2.
Zstandard (zstd): คอมเพรสเซอร์สำหรับวัตถุประสงค์ทั่วไปรุ่นใหม่ที่ออกแบบมาสำหรับอัตราส่วนที่สูงพร้อมการคลายการบีบอัดที่รวดเร็วมาก รูปแบบ được ghi lại trong RFC 8878 (cũng gương HTML) và thông số kỹ thuật tham chiếu trên GitHub. Giống như gzip, khung cơ bản không nhắm đến truy cập ngẫu nhiên. Một trong những siêu năng lực của zstd là từ điển: các mẫu nhỏ từ kho dữ liệu của bạn giúp cải thiện đáng kể việc nén trên nhiều tệp nhỏ hoặc tương tự (xem tài liệu từ điển python-zstandard và ví dụ làm việc của Nigel Tao). Các triển khai chấp nhận cả từ điển “không có cấu trúc” và “có cấu trúc” (thảo luận).
Brotli: เหมาะสำหรับเนื้อหาเว็บ (เช่น แบบอักษร WOFF2, HTTP) มันผสมพจนานุกรมคงที่กับ แกน LZ+เอนโทรปีที่คล้ายกับ DEFLATE ข้อกำหนดคือ RFC 7932ซึ่งยังบันทึกหน้าต่างเลื่อนของ 2WBITS−16 โดย WBITS อยู่ใน [10, 24] (1 KiB−16 B ถึง 16 MiB−16 B) และ ไม่พยายามเข้าถึงแบบสุ่ม. Brotli มักจะเอาชนะ gzip ในข้อความเว็บในขณะที่ถอดรหัสได้อย่างรวดเร็ว
คอนเทนเนอร์ ZIP: ZIP เป็น ไฟล์เก็บถาวร ที่สามารถจัดเก็บรายการด้วยวิธีการบีบอัดต่างๆ (deflate, store, zstd, etc.) มาตรฐานโดยพฤตินัยคือ APPNOTE ของ PKWARE (ดู พอร์ทัล APPNOTE, สำเนาที่โฮสต์, และภาพรวม LC รูปแบบไฟล์ ZIP (PKWARE) / ZIP 6.3.3).
LZ4 มุ่งเป้าไปที่ความเร็วล้วนๆ ด้วยอัตราส่วนที่พอประมาณ ดู หน้าโครงการ (“การบีบอัดที่รวดเร็วอย่างยิ่ง”) และ รูปแบบเฟรม. เหมาะอย่างยิ่งสำหรับแคชในหน่วยความจำ, telemetry, หรือ hot paths ที่การคลายการบีบอัดต้องใกล้เคียงกับความเร็วของ RAM
XZ / LZMA ผลักดันค วามหนาแน่น (อัตราส่วนที่ดี) ด้วยการบีบอัดที่ค่อนข้างช้า XZ เป็นคอนเทนเนอร์; งานหนักส่วนใหญ่มักทำโดย LZMA/LZMA2 (การสร้างแบบจำลองคล้าย LZ77 + การเข้ารหัสช่วง) ดู รูปแบบไฟล์ .xz, ข้อมูลจำเพาะของ LZMA (Pavlov), และบันทึกเคอร์เนลของลินุกซ์ บน XZ Embedded. XZ มักจะบีบอัดได้ดีกว่า gzip และมักจะแข่งขันกับตัวแปลงสัญญาณที่ทันสมัยที่มีอัตราส่วนสูง แต่ใช้เวลาเข้ารหัสนานกว่า
bzip2 ใช้ การแปลง Burrows–Wheeler (BWT), move-to-front, RLE, และการเข้ารหัสฮัฟฟ์แมน โดยทั่วไปจะมีขนาดเล็กกว่า gzip แต่ช้ากว่า; ดู คู่มืออย่างเป็นทางการ และหน้า man (Linux).
“ขนาดหน้าต่าง” มีความสำคัญ การอ้างอิง DEFLATE สามารถมองย้อนกลับไปได้เพียง 32 KiB (RFC 1951 และขีดจำกัด 32 KiB ของ PNG ที่ระบุไว้ที่นี่). หน้าต่างของ Brotli มีตั้งแต่ประมาณ 1 KiB ถึง 16 MiB (RFC 7932). Zstd ปรับแต่งหน้าต่างและความลึกของการค้นหาตามระดับ (RFC 8878). สตรีมพื้นฐานของ gzip/zstd/brotli ได้รับการออกแบบมาสำหรับการถอดรหัสตามลำดับ; รูปแบบพื้นฐาน ไม่รับประกันการเข้าถึงแบบสุ่ม, แม้ว่าคอนเทนเนอร์ (เช่น ดัชนี tar, เฟรมแบบแบ่งส่วน, หรือดัชนีเฉพาะรูปแบบ) สามารถแบ่งชั้นได้
รูปแบบข้างต้นคือ ไม่สูญเสียข้อมูล: คุณสามารถสร้างไบต์ที่แน่นอนขึ้นมาใหม่ได้ ตัวแปลงสัญญาณสื่อมักเป็น สูญเสียข้อมูล: พวกเขาทิ้งรายละเอียดที่มองไม่เห็นเพื่อให้อัตราบิตต่ำลง ในภาพ, JPEG แบบคลาสสิก (DCT, การหาปริมาณ, การเข้ารหัสเอนโทรปี) ถูกกำหนดมาตรฐานใน ITU-T T.81 / ISO/IEC 10918-1. ในด้านเสียง, MP3 (MPEG-1 Layer III) และ AAC (MPEG-2/4) อาศัยแบบจำลองการรับรู้และการแปลง MDCT (ดู ISO/IEC 11172-3, ISO/IEC 13818-7, และภาพรวม MDCT ที่นี่). การสูญเสียและไม่สูญเสียข้อมูลสามารถอยู่ร่วมกันได้ (เช่น PNG สำหรับเนื้อหา UI; ตัวแปลงสัญญาณเว็บสำหรับภาพ/วิดีโอ/เสียง)
ทฤษฎี: แชนนอน 1948 · อัตรา-ความผิดเพี้ยน · การเข้ารหัส: ฮัฟฟ์แมน 1952 · การเข้ารหัสเลขคณิต ·