Какъв е принципът на работа архиватори Archiver
Какво е компресиране на файлове? Принципът на работа Archiver.
Архиватори - програма за създаване на архиви. Архиви са предназначени за съхранение на данни в удобен компактна форма. Както обикновено става въпрос за файлове и папки. Обикновено данните преди подлагат на пресоване или процедура за опаковане. Ето защо почти всеки архив е и програма за компресиране на данни. От друга страна, всяка програма за компресиране на данни може да се разглежда като архиватор. ефективност на компресия е важна характеристика архиви. Това се отразява на размера на генерираните файлове. Колкото по-малък файл, се изисква по-малко пространство, за да го съхраните. За трансфер нуждае от по-малко трафик на канала за предаване или изразходвани по-малко време. Ползи архиви са очевидни, когато смятате, че те са с намален размер и 2 пъти и 5 пъти.
компресиране на данни се използва широко. Можем да кажем, почти навсякъде. Например, PDF документи. като правило, съдържа кратка информация. Доста от изпълними EXE файлове, компресирани със специални опаковчици. Всички видове мултимедийни файлове (GIF. JPG. MP 3, MPG) са един вид архиви.
Основният недостатък е невъзможността да архивирате директен достъп до данните. Те трябва първо да бъде извлечен от архива и разопаковането. Операция разопаковане, обаче, като опаковка, изисква някои системни ресурси. Това не е мигновен работа. Поради това, файловете се използват главно със сравнително рядко използваните данни. Например, за резервни копия или инсталационни файлове.
В момента има много архиви. Те имат различен брой, както и ефективност. Някои интересни архиватор не е известен на широк кръг от потенциални потребители. От особен интерес са оценката и сравнението на ефективността на компресия на популярните архиватори.
методи Archiver компресия.
Това разработени голям брой различни методи, техните модификации и подвидове за компресиране на данни. Съвременните архива са склонни да се използват едновременно няколко метода едновременно. Можете да подчертае някои от ключа.
Стартирай Дължина Кодиране (УПИ - намаляване на серия - дължина, кодираща - дължина кодиране).
Един много прост метод. Последователно редица елементи идентични данни заменени с два символа: елемента и броя на повторение му. Широко се използва като допълнителен, междинно съединение и метод. Като независим метод се използва, например, в графичен формат BMP.
Най-честият начин. Той използва речник, съставен от думи или последователности от данни. Когато компресиране тези думи се заменят с техните кодове от речника. В най-общ изпълнение, служи като самия блок данни източник речника.
Основният параметър на речника на метода е размерът на речника. Колкото по-голям речник, толкова по-голяма ефективност. Въпреки това, за нехомогенни прекалено голям размер на данни може да бъде вредно, тъй като внезапната промяна във вида на речник на данните ще бъде изпълнен с неподходящи думи. За ефективна работа на метода на компресия изисква допълнителна памет. Приблизително един порядък повече, отколкото трябва за първоначално речник на данните. Значително предимство на речника метод е проста и бърза процедура за разархивиране. не се изисква допълнителна памет. Тази функция е особено важно, ако имате нужда от бърз достъп до данни.
метод ентропията (Huffman - Huffman кодиране, аритметично кодиране - аритметично кодиране)
При този метод елементи от данни, които се срещат по-често са кодирани с по-кратък код компресия, и по-редки елементи, кодирани данни през дълъг код. Поради факта, че много по-кратък код, общият размер по-малък от оригинала получава.
Широко се използва като допълнителен метод. Като независим метод се използва, например, в графичен JPG формат.
метод контекст моделиране (CM - съкратено от контекст моделиране - моделиране на контекст)
При този метод, модел на оригиналните данни. При компресиране на следващия елемент на данни, този модел дава му предсказание или вероятност. Съгласно този елемент вероятностни данни кодиран метод ентропията. Колкото по-точни модела ще съответства на първоначалните данни, толкова по-точни ще издаде прогноза ще бъде и по-кратки кодирани елементи от данни.
За изграждането на ефективен модел за се изисква много памет. Когато разопаковате трябва да изгради точно същия модел. Следователно, обемът на паметта и изискванията на скоростта за опаковане и разопаковане са почти идентични. В момента методи за моделиране контекст дават най-доброто съотношение компресия, но се характеризират с много ниска скорост.
PPM (PPM - Прогнози с частично съвпадение - Прогнози с частично съвпадение).
Това е специален подвид на контекст моделиране. Предсказанието се извършва въз основа на определен брой предходни елементи от данни. Основният параметър е ред на модела, който определя броя на елементите. Колкото по-висок модел поръчка, по-висока степен на сгъстяване, но се нуждае от повече памет за съхранение на данните на шаблона. Ако паметта е недостатъчен, такъв модел с голяма поръчка за показване лоши резултати. Методът е особено ефективна за PPM компресията на текстови данни.
Предварителен преобразуване или филтриране.
Тези методи не са за компресия, и да представят информация в удобна форма за допълнителна компресия. Например, некомпресиран мултимедийни данни, характеризиращи се с плавни промени в нивото на сигнала. Следователно делта преобразуване прилага към тях, когато абсолютната стойност вместо относителна. Има филтри за текст, изпълними файлове, бази данни и други.
Този конкретен вид или група от трансформации, които се основават на сортиране. Такава трансформация може да се подложи на почти всички данни. Сортирането се извършва на блокове, така че данните преди това разделени на части. Основният параметър, е с размерите на блока, който е обект на сортиране. За да направите това данните, необходими за да се направи почти същите стъпки, както е в опаковката. Следователно, изискванията за скорост и памет са почти едни и същи. Archivators, които използват този метод обикновено показват по-висока честота и степен на компресия за текстови данни.
Непрекъснато блокове или непрекъснат режим (Solid режим - непрекъснат режим).
Много методи за компресия на първоначалната част от данни или файл е кодирана лоши. Например, методът в речника речник е празна. В метода на модел контекст моделиране не е построена. Когато броят на големи файлове, и малкия си размер, като цяло степента на сгъстяване се влошава значително, поради тези начални страници. За да се предотврати това да се случи в прехода към следващия файл, като използва информацията, получена въз основа на предишните файлове. Подобен ефект може да се постигне с обикновено представяне на изходните файлове в един непрекъснат файл.
Тази техника се използва в много архиватори, и има значителен недостатък. За да направите това на произволен файл, разархивирайте и файлове, които са били в началото на архива. Той е необходим за правилното попълване на речника или изграждането на модела. Има и един междинен вариант, когато се използва непрекъснати блокове на фиксиран размер. загуба на компресия, получена най-малко, но да се извлече един файл, който се намира в края на голям файл, трябва да разопаковате само един непрекъснат блок, а не на цялата преписка.
При всички методи за компресия, когато типа данни на самата действителния преход е кодиран много лошо. Речник добива значимост потребителски модел за други данни. В тези случаи на сегментиране. Това е предварителен разбивка на еднородни части. След това тези части са кодирани индивидуално или в групи.
Бих искал да подчертая, че има голям брой методи за компресиране. Всеки метод обикновено се фокусира върху един тип или реален група данни. Добрите резултати показват комплексно използване на методи.
Голям брой типове данни вече са компресирани. Използването Archiver предлага оскъден намаляване на размера. Независимо от това, дори и в такива случаи, ефективно компресиране теоретично е възможно. Това е така, защото в най-често срещаните файлови формати използване компресия се използва не е най-ефективните методи. Например, във формат JPG, се основава на компресията на ентропия, която се използва след преобразуване на Фурие. блокове данни са кодирани под оптималните, поради желанието да се направи формат JPG устойчив на повреди и възможност за извличане на частична информация. Рекодират JPG файлове с помощта на високо ефективни методи, можем да постигнем компресия на 75% от оригиналния файл (архив StuffIt). Всъщност оригиналната JPG файл архиватор конвенционален сгъстен само до 96%. Въпреки това, такова манипулиране на файлове във формат JPG са направени възможно едва наскоро и все още не е широко разпространено. В повечето случаи, вече компресирате сгъстен данни е безполезна.
Какви са архиватор, и как те се различават?
Необходимо е да се прави разлика между правилното архиватор, формат на архива и техники за компресиране. Дори един и същ метод на пресоване може да бъде изпълнения. Например, има повече от програма дузина архиватор, който може да създава файлове в ZIP формат. данни в ZIP формат може на свой ред да се компресира чрез различни методи: Deflate, Deflate64, BZip2. Deflate метод има няколко приложения с различна скорост и степен на сгъстяване (разлика от порядъка на 5%). С този метод, 7-Zip архиватор ви позволява да създавате файлове в ZIP формат и 7Z.
Обикновено архиватор да създавате архиви в собствената си изключително формат с оригиналните им методи. Например, RAR Archiver ви позволява да създавате RAR архиви. Методите за файлов формат и компресия са основните предимства на архиватор.
В най-простия случай, архиватор ви позволява просто да се опаковат или разопакова един файл. В допълнение към действителното компресиране на данни, съвременни архиватори предоставят някои допълнителни функции. Няколко са основните:
компресиране на някои файлове и цели директории;
създаване на саморазархивиращи се (SFX) архиви. Това е да разопаковате архива не се изисква програма-архиватор;
архивно съдържание на климата;
криптиране на съдържанието на файла;
Информация за възстановяване на резервно копие в случай на частична щета, както и способността да се възстановява повредени архиви;
разделяне на файла на няколко части или обеми;
конзолата версия на програмата за работа от команден ред;
графично (GUI) версия на програмата.
Трябва да се отбележи, че въпреки наличието на официалните, може да се извърши за изпълнението на всеки допълнителни функции на съвсем различно ниво.
В допълнение към разликите в функционалност, могат да бъдат разделени в две групи архива: асиметричен и симетрични. Асиметрична arkhivatory изисква разопаковане операция е много по-малко време и памет, отколкото за работа с опаковки. Това ви позволява бързо да получите съдържанието на архива в маломощни компютри. Symmetric търсенето архиватор за опаковане и разопаковане операции по същото време и на размера на RAM. Използването на такива архиви по широк парк от компютри или за бърз достъп до съдържанието на архива е ограничен. Известен архиватор RAR като основна лексика използва асиметричен метод за компресиране, и може да се използва симетричен PPM-метод за текстове. По този начин, RAR разопаковане извличане сгъстен с максимална степен на сгъстяване може да не е възможно да се компютри с ограничена памет. Всички или почти всички напреднали файл архиватор с висока компресия са симетрични.
Точната статистика за разпространението на архиватори, че не са. Аз ще изразя своята субективна гледна точка на базата на личен опит на. Без съмнение, най-често са на пощенски архиватор и неговите изменения. В разпространението му е значително по-голяма от най-близкия конкурент. Те са следвани от RAR и ACE. През последните години, отговаря на 7-Zip архиватор. Други архиватор и архив лично не съм срещал. Изключение прави веднъж популярен ARJ и LHA. В момента те не са от значение, поради много ниска степен на компресия.
Тестване максимизиране на компресия архиви.
В това изследване, като основната цел е да се определи най-доброто ниво на архив компресия. темпа на свиване е вторично.
За универсален тест и идентифициране на силните и слабите страни използват няколко групи от данни, които изискват различни подходи и техники за добра компресия. Техният размер се избира достатъчно голям, за да архиватор с по-голям речников запас и по-ефективно използване на RAM може да покаже своя полза. Сгъстеният помощта на ZIP, тъй като те заемат с размерите на около 15 MB.
За всеки набор от данни, обикновено можете да намерите най-оптималните настройки за компресиране. Въпреки това, в този тест, за всички групи от данни, използвани общи параметри и методи, които дават средно най-добри резултати, въз основа на присъствието на 512 MB оперативна памет. Този подход е компромис. От една страна, това е възможно да се оцени ефективността на различни типове данни, въпреки че някои архиватори и няма да се появи в максимална степен на компресия. От друга страна, в действителност ние трябва да се компресира цели папки с различни данни, както и конкретни стойности на параметрите могат да се отразят положително, така и отрицателно на компресиране на данни по принцип. В допълнение, изборът на оптимални параметри не е толкова прост, отнема време, и в реалния живот рядко се изпълняват.
Трябва да се подчертае, че изборът на входни данни в голяма степен се отразява на резултатите от тестовете. Например, с помощта на текст (TXT, HTML, DOC, LOG) и мултимедия (WAV) логер 7-Zip (LZMA) показва по-лоши резултати, отколкото RAR, която има специални методи за тези типове данни. Използването на несгъстяващото данни (JPG, PDF) показва разликата между нещастен архиватор с лоша и добра степен на компресия. Между другото, много от файловете може да съдържа информация, както и сгъстим несгъстяващото. Включително файлове в DOC и PDF формат.
И силно се влияе от избора на оптимални параметри на компресия. Например, съгласно www.maximumcompression.com, ispolzueschego оптимални параметри на компресия за всеки набор от данни, разликата между 7-Zip и RAR около 3%, значително по-малко от разликата, получена в този тест.
Извършено е в системата: CPU - Athlon XP 2800+, RAM - 512 MB.