Care este principiul de lucru al archivers Archiver
Ce este de compresie de fișiere? Principiul de funcționare Archiver.
Archivers - un program pentru crearea de arhive. Arhivele sunt proiectate pentru stocarea de date într-o formă compactă convenabilă. Deoarece acestea sunt, de obicei, fișierele și folderele. De obicei, datele supuse anterior compresiei sau procedura de ambalare. Prin urmare, aproape fiecare arhivă este, de asemenea, un program de compresie a datelor. Pe de altă parte, orice program de comprimare a datelor poate fi considerată un arhivator. Eficiența compresiei este un important arhive caracteristice. Aceasta afectează dimensiunea fișierelor generate. Este mai mic fișierul, cu atât mai puțin este necesar spațiu pentru al stoca. Pentru a transfera mai are nevoie de lățime de bandă a canalului de transmisie sau mai puțin timp petrecut. Beneficii arhive sunt evidente atunci când consideră că acestea sunt reduse în dimensiune și de 2 ori și de 5 ori.
Comprimarea datelor este utilizat pe scară largă. Putem spune, aproape peste tot. De exemplu, documentele PDF. ca regulă, să conțină informații concise. Destul de o mulțime de fișiere EXE executabile comprimate cu packere speciale. Toate tipurile de fișiere multimedia (GIF. JPG. MP 3, MPG) sunt un fel de arhive.
Principalul dezavantaj este incapacitatea de a arhiva acces direct la date. Acestea trebuie să fie mai întâi extras din arhiva și dezarhivați. Operațiunea despachetare, cu toate acestea, cum ar fi ambalajul, necesită unele resurse de sistem. Nu este o operațiune instantanee. Prin urmare, fișierele sunt utilizate în principal, cu o serie de date relativ rar utilizate. De exemplu, pentru backup-uri sau fișiere de instalare.
În momentul de față, există multe arhive. Ei au diferite prevalenta si eficienta. Unele Archiver interesant nu este cunoscut pentru o gamă largă de potențiali utilizatori. De un interes deosebit sunt evaluarea și compararea eficienței de compresie a archivers populare.
metode de compresie Archiver.
Acesta a dezvoltat un număr mare de metode diferite, modificări și subspecii de compresie a datelor lor. Archiver moderne tind să folosească simultan mai multe metode simultan. Puteți evidenția unele dintre cheie.
Executați Encoding Lungime (RLE - reducerea run - codare lungime - codare lungime).
O metodă foarte simplă. serie consecutiva de elemente de date identice înlocuite cu două simboluri: elementul și numărul de repetarea acesteia. Utilizate pe scară largă ca o suplimentare, intermediar și metodă. Așa cum se utilizează o metodă independentă, de exemplu, într-un format grafic BMP.
Cea mai comună metodă. Acesta folosește un dicționar format din cuvinte sau secvențe de date. La comprimarea acestor cuvinte se înlocuiesc cu codurile lor din dicționar. În cel mai frecvent exemplu de realizare, servește ca dicționarul însuși blocul de date sursă.
Parametrul principal al vocabularului metodei este de mărimea unui dicționar. Cu cât vocabularul, cu atât mai mare eficiență. Cu toate acestea, pentru neomogenă excesiv de mari dimensiuni de date pot fi dăunătoare, deoarece schimbarea bruscă a tipului de dicționarului de date vor fi completate cu cuvinte irelevante. Pentru funcționarea eficientă a metodei de compresie necesită memorie suplimentară. Aproximativ un ordin de mărime mai mult decât aveți nevoie pentru dicționarul de date inițiale. Un avantaj semnificativ al metodei este o procedură dicționarul despachetare simplă și rapidă. Memoria suplimentară nu este necesară. Această caracteristică este deosebit de important în cazul în care aveți nevoie de acces rapid la date.
Metoda Entropy (Huffman - codarea Huffman, codificare aritmetică - codificare aritmetică)
In aceasta metoda elementelor de date care apar mai frecvent sunt codificate cu compresie de cod mai scurt, iar elementele mai rare date codificate peste cod lung. Datorită faptului că coduri de mult mai scurt, dimensiunea totală mai mică decât originalul obținut.
utilizat pe scară largă ca metodă suplimentară. Așa cum se utilizează o metodă independentă, de exemplu, într-un format JPG grafic.
Metoda de modelare context (CM - scurt pentru modelarea contextului - modelarea contextului)
În această metodă, un model de date originale. La comprimarea următorul element de date, acest model dă de predicție sau probabilitatea lui. Conform acestei metode entropie element de date de probabilitate codificată. Cu cât este mai precis modelul va potrivi cu datele inițiale, cele mai scurte elementele de date codificate mai exacte va emite o predicție va fi și.
Pentru a construi un model eficient pentru care este necesară o mulțime de memorie. La despachetarea au de a construi același model exact. Prin urmare, volumul de memorie și cerințele de viteză pentru ambalare și despachetare sunt aproape identice. In acest moment, metodele de modelare context se obține cel mai bun raport de compresie, dar caracterizat printr-o rată foarte scăzută.
PPM (PPM - Predicție de potrivire parțială - Predicție prin potrivirea parțială).
Aceasta este o subspecie speciale de modelare context. Predicția este executat pe baza unui anumit număr de elemente de date anterioare. Parametrul principal este ordinea de model, care specifică numărul de elemente. Modelul de ordin superior, este mai mare rata de compresie, dar necesită mai multă memorie pentru a stoca datele modelului. În cazul în care memoria este insuficientă, un astfel de model, cu un ordin de mare care prezintă rezultate slabe. Metoda este deosebit de eficient pentru compresia PPM a datelor de text.
conversie preliminară sau filtrare.
Aceste metode nu sunt pentru compresie și să prezinte informații într-o formă convenabilă pentru comprimarea ulterioară. De exemplu, o conexiune de date multimedia necomprimate caracterizată prin schimbări netede în nivelul de semnal. De aceea, transformarea delta aplicat acestora atunci când valoarea absolută în locul unei relative. Există filtre pentru text, fișiere executabile, baze de date și altele.
Acest tip special sau a unui grup de transformări, care se bazează pe sortare. O astfel de transformare poate fi supus la aproape orice date. Sortarea se realizează pe blocuri, astfel încât datele împărțit anterior în părți. Parametrul principal este dimensiunea blocului, care este supus sortării. Pentru a despacheta datele necesare pentru a face aproape aceiași pași ca și în ambalaj. Prin urmare, cerințele de viteză și de memorie sunt aproape identice. Archivators care utilizează această metodă prezintă de obicei o rată ridicată și gradul de compresie pentru datele de text.
blocuri continue sau mod continuu (mod solid - modul continuu).
Multe metode de compresie a piesei inițiale de date sau fișier este codificat rău. De exemplu, metoda în dicționar vocabularul este gol. În metoda modelului de modelare context, nu este construit. Când numărul de fișiere mari, și dimensiunea lor mică, raportul de compresie globală se deteriorează în mod semnificativ din cauza acestor site-uri inițiale. Pentru a preveni acest lucru în tranziția la următorul fișier, utilizând informațiile obținute pe baza fișierelor anterioare. Un efect similar poate fi realizat printr-o simpla reprezentare a fișierelor sursă într-un singur fișier continuu.
Această tehnică este folosită în multe archivers, și are un dezavantaj semnificativ. Pentru a dezarhiva un fișier arbitrar, dezarhiva și fișierele care au fost la începutul arhivei. Este necesar pentru umplerea corectă a dicționarului sau construirea modelului. Există, de asemenea, o opțiune intermediară, atunci când sunt utilizate blocuri continue de o dimensiune fixă. pierderea de compresie a obținut un minim, dar pentru a extrage un singur fișier, care este situat la capătul unui fișier mare, aveți nevoie pentru a despacheta doar un singur bloc continuu, și nu întregul fișier.
In toate metodele de compresie atunci când tipul de date al tranziției în sine este codat foarte rău. Dicționar devine modelul relevant, personalizat la alte date. În aceste cazuri, o segmentare. Aceasta este o defalcare preliminară a pieselor omogene. Apoi, aceste piese sunt codificate în mod individual sau în grupuri.
Aș dori să subliniez că există un număr mare de metode de compresie. Fiecare metodă de obicei, axat pe un tip sau grup de date reale. Rezultatele bune arată utilizarea complexă a metodelor.
Un număr mare de tipuri de date sunt deja comprimate. Utilizarea Archiver prevede reducerea anemică în dimensiune. Cu toate acestea, chiar și în astfel de cazuri, eficienta de compresie este teoretic posibil. Acest lucru se datorează faptului că în compresie cea mai comună utilizare formate de fișiere utilizate nu este cele mai eficiente metode. De exemplu, în format JPG se bazează pe compresia entropiei, care este utilizată după transformarea Fourier. blocuri de date sunt codificate suboptimal, datorită dorinței de a face format JPG rezistente la daune și posibilitatea de extragere a informației parțiale. fișiere JPG recoded folosind metode foarte eficiente, putem realiza o compresie de 75% din fișierul original (StuffIt arhiva). De fapt, originalul arhivator JPG convențional comprimat numai până la 96%. Cu toate acestea, o astfel de manipulare a fișierelor JPG au fost posibile doar recent și încă nu a devenit larg răspândită. În cele mai multe cazuri, deja compresa comprimat de date este inutil.
Care sunt arhivator, și cum se deosebesc?
Este necesar să se facă distincția între Arhivator propriu-zis, format de arhivă și tehnici de compresie. Chiar și una și aceeași metodă de comprimare pot fi exemple de realizare. De exemplu, există mai mult de un program arhivator duzină care pot crea fișiere în format ZIP. date în format ZIP poate fi comprimat la rândul său prin diferite metode: Deflate, Deflate64, bzip2. Metoda Deflate are mai multe implementări cu viteze diferite și raportul de compresie (diferența de ordinul a 5%). Cu această metodă, 7-Zip Archiver vă permite să creați fișiere în format ZIP și 7z.
De obicei, Archiver poate crea arhive în format propriu exclusiv cu metodele lor originale. De exemplu, Arhivator RAR vă permite să creați arhive RAR. Metodele de format de fișier și de compresie sunt principalele avantaje ale unui arhivator.
În cel mai simplu caz, arhivator vă permite să pachet sau doar despachetați un singur fișier. În plus față de compresie a datelor reale, archivers moderne oferă unele caracteristici suplimentare. Există mai multe de bază:
comprima unele fișiere și directoare întregi;
crearea de auto-extragere arhive (SFX). Asta este de a despachetați arhiva programului-Archiver nu este necesară;
arhiva schimbare de conținut;
conținutul fișierului Criptați;
Informații pentru a restaura o copie de siguranță în caz de avarie parțială, precum și capacitatea de a recupera arhivele deteriorate;
fișier divizat în mai multe părți sau volume;
versiunea consola a programului de a lucra de la linia de comandă;
grafică (GUI) versiune a programului.
Trebuie remarcat faptul că, în ciuda prezenței formal, punerea în aplicare a fiecărei funcții suplimentare pot fi efectuate la un nivel complet diferit.
În plus față de diferențele de funcționalitate, pot fi împărțite în două grupe arhivator: asimetrică și simetrică. arkhivatory asimetrica necesită operație despachetare este mult mai puțin timp și de memorie decât pentru o operațiune de ambalare. Acest lucru vă permite să obțineți rapid conținutul arhivei în calculatoarele de putere joasă. Cererea arhivator simetrica ambalare și despachetarea operațiuni în același timp și cantitatea de memorie RAM. Utilizarea unor astfel de arhive pe un parc mare de calculatoare sau pentru acces rapid la conținutul arhivei este limitată. Cunoscut Arhivator RAR ca vocabularul principal folosește metoda de compresie asimetrică, și poate utiliza o metodă PPM-simetrice pentru texte. Astfel, RAR despachetarea extracție comprimat cu un raport maxim de compresie poate să nu fie posibilă computere cu memorie limitată. Toate sau aproape toate avansat arhivator cu compresie ridicată sunt simetrice.
statistici exacte cu privire la prevalența archivers nu am. Voi exprima punctul meu de vedere subiectiv bazat pe experiența personală. Fără îndoială, cele mai frecvente sunt arhivator ZIP și modificările sale. În prevalența acesteia este considerabil mai mare decât cel mai apropiat competitor. Acestea sunt urmate de RAR si ACE. În ultimii ani, se întâlnește 7-Zip Archiver. Alte arhivator si arhiva personal nu ne-am întâlnit. Excepția este dată de popular ARJ și LHA. În acest moment, ele nu sunt relevante din cauza gradului foarte redus de compresie.
Testarea a maximiza arhivele de compresie.
În această încercare, obiectivul principal a fost de a determina cel mai bun nivel de compresie de arhivă. rata de contracție a fost secundară.
Pentru testare versatil și de a identifica punctele forte și punctele slabe folosite mai multe seturi de date care necesită abordări diferite și tehnici de compresie bună. Mărimea lor este aleasă suficient de mare pentru a arhivator cu un vocabular mai mare și mai eficient folosind RAM ar putea arăta avantajul său. Comprimat folosind ZIP, deoarece acestea ocupă dimensiunea de aproximativ 15 MB.
Pentru fiecare set de date, puteți găsi, de obicei, setările optime de compresie. Cu toate acestea, în acest test, pentru toate seturile de date utilizate parametri și metode care furnizează, în medie, cele mai bune rezultate bazate pe prezența a 512 MB de RAM comune. Această abordare este un compromis. Pe de o parte, este posibil să se evalueze eficacitatea pe diferite tipuri de date, cu toate că unele archivers și nu va arăta gradul maxim de compresie. Pe de altă parte, în realitate, avem de a comprima întregi foldere cu date diferite, și valorile specifice ale parametrilor pot afecta atât pozitiv, cât și negativ de compresie a datelor, în general. În plus, alegerea parametrilor optimi nu este atât de simplu, are nevoie de timp, și în viața reală este rareori îndeplinită.
Trebuie subliniat faptul că alegerea datelor de intrare afectează în mare măsură rezultatele testului. De exemplu, utilizarea unui text (TXT, HTML, DOC, LOG) și multimedia (WAV) logger de date 7-Zip (LZMA) prezinta rezultate mai slabe decât RAR, care are metode speciale pentru astfel de tipuri de date. Utilizarea datelor de bază non-comprimabile (JPG, PDF) arată diferența dintre un arhivator mizerabil cu un rău și un grad bun de compresie. Apropo, multe dintre fișierele pot conține informații atât compresibil și non-compresibil. Inclusiv fișiere în format PDF DOC și.
Și puternic influențat de alegerea parametrilor optimi de compresie. De exemplu, conform www.maximumcompression.com, ispolzueschego parametrii optimi de compresie pentru fiecare set de date, diferența dintre 7-zip și RAR în jur de 3%, semnificativ mai mică decât diferența obținută în acest test.
Testarea a fost efectuată pe sistemul: CPU - Athlon XP 2800+, RAM - 512 MB.