Za njira yachilendo yosungira malo a hard disk

Wina wogwiritsa ntchito akufuna kulemba chidutswa chatsopano cha data ku hard drive, koma alibe malo okwanira kuti achite izi. Sindikufunanso kuchotsa chilichonse, chifukwa "chirichonse ndi chofunikira kwambiri komanso chofunikira." Ndipo tiyenera kuchita chiyani nazo?

Palibe amene ali ndi vutoli. Pali ma terabytes azidziwitso pama hard drive athu, ndipo kuchuluka kumeneku sikumachepera. Koma kodi ndi yapadera bwanji? Pamapeto pake, mafayilo onse amangokhala zidutswa zautali wina, ndipo, mwachiwonekere, yatsopanoyo siili yosiyana kwambiri ndi yomwe yasungidwa kale.

Zikuwonekeratu kuti kufunafuna zidziwitso zomwe zasungidwa kale pa hard drive ndiko, ngati sikulephera, ndiye kuti si ntchito yabwino. Kumbali ina, ngati kusiyana kuli kochepa, ndiye kuti mutha kusintha pang'ono ...

Za njira yachilendo yosungira malo a hard disk

TL; DR - kuyesa kwachiwiri kulankhula za njira yachilendo yowonjezeretsa deta pogwiritsa ntchito mafayilo a JPEG, tsopano mu mawonekedwe omveka bwino.

Za ma bits ndi kusiyana

Ngati mutenga zidziwitso ziwiri mwachisawawa, ndiye kuti pafupifupi theka la magawo omwe ali nawo amagwirizana. Zowonadi, pakati pa masanjidwe omwe angakhalepo pagulu lililonse ('00, 01, 10, 11β€²), ndendende theka lili ndi zikhalidwe zomwezo, chilichonse ndi chosavuta apa.

Koma ndithudi, ngati tingotenga mafayilo awiri ndikukwanira limodzi ndi lachiwiri, ndiye kuti tidzataya imodzi mwa izo. Ngati tisunga zosinthazo, tidzangoyambitsanso delta encoding, yomwe imakhalapo bwino popanda ife, ngakhale kuti nthawi zambiri sagwiritsidwa ntchito pazinthu zomwezo. Titha kuyesa kuyika kagawo kakang'ono kukhala kokulirapo, koma ngakhale zili choncho timakhala pachiwopsezo chotaya magawo ofunikira a data ngati tigwiritsa ntchito mosasamala ndi chilichonse.

Pakati pa chiyani ndi chiyani ndiye kusiyana kungathetsedwe? Chabwino, ndiye kuti, fayilo yatsopano yolembedwa ndi wogwiritsa ntchito ndikungotsatira pang'ono, komwe sitingathe kuchita kalikonse palokha. Ndiye mumangofunika kupeza zidutswa zotere pa hard drive kuti zitha kusinthidwa popanda kusunga kusiyana, kuti mutha kupulumuka kutayika kwawo popanda zotsatirapo zoyipa. Ndipo ndizomveka kusintha osati fayilo yokhayo pa FS yokha, komanso chidziwitso china chochepa kwambiri mkati mwake. Koma uti ndipo motani?

Njira zopangira

Mafayilo otayidwa otayika amabwera kudzapulumutsa. Ma jpegs onsewa, ma mp3 ndi ena, ngakhale ndizovuta, ali ndi tinthu tambiri tomwe timapezeka kuti tisinthidwe bwino. Ndizotheka kugwiritsa ntchito njira zapamwamba zomwe zimasintha mosadziwika bwino zigawo zawo pamagawo osiyanasiyana a encoding. Dikirani. Advanced njira... imperceptible kusinthidwa... wina pang'ono mumzake... pafupifupi ngati steganography!

Zowonadi, kuyika chidziwitso chimodzi mumzake ndikukumbutsa njira zake kuposa china chilichonse. Ndimagomanso ndi kusazindikira kwakusintha komwe kumachitika m'malingaliro amunthu. Kumene njira zimasiyana zili mobisa: ntchito yathu imatsikira kwa wogwiritsa ntchito kulowetsa zambiri pa hard drive yake; zimangomuvulaza. Adzaiwalanso.

Chifukwa chake, ngakhale titha kuzigwiritsa ntchito, tifunika kusintha zina. Kenako ndiwauza ndikuwawonetsa pogwiritsa ntchito chitsanzo cha imodzi mwa njira zomwe zilipo komanso mawonekedwe amtundu wamba.

Za nkhandwe

Ngati mukufinyadi, ndiye chinthu chokhazikika kwambiri padziko lapansi. Tikulankhula za mafayilo a JPEG. Sikuti pali matani a zida ndi njira zomwe zilipo zophatikiziramo deta, koma ndi mawonekedwe otchuka kwambiri padziko lapansi pano.

Za njira yachilendo yosungira malo a hard disk

Komabe, kuti musalowetse agalu, muyenera kuchepetsa gawo lanu la ntchito mu mafayilo amtunduwu. Palibe amene amakonda mabwalo a monochrome omwe amawoneka chifukwa chakupanikizana kwambiri, chifukwa chake muyenera kudziletsa kuti mugwire ntchito ndi fayilo yokhazikika kale, kupewa recoding. Mwachindunji, ndi ma coefficients ophatikizika, omwe amatsalira pambuyo pa ntchito zomwe zingayambitse kutayika kwa data - DCT ndi kuchuluka, zomwe zikuwonetsedwa bwino mu kabisidwe kachitidwe (chifukwa cha wiki ya Bauman National Library):
Za njira yachilendo yosungira malo a hard disk

Pali njira zambiri zosinthira mafayilo a jpeg. Pali kukhathamiritsa kosataya (jpegtran), pali kukhathamiritsa "palibe kutaya", zomwe zimathandizira china, koma sitisamala za iwo. Kupatula apo, ngati wogwiritsa ntchito ali wokonzeka kuyika chidziwitso chimodzi mumzake kuti awonjezere malo aulere pa disk, ndiye kuti adakonza zithunzi zake kalekale, kapena sakufuna kuchita izi konse chifukwa choopa kutayika kwabwino.

F5

Banja lonse la ma algorithms limagwirizana ndi izi, zomwe mutha kuzidziwa bwino mu chiwonetsero chabwino ichi. Chotsogola kwambiri mwa iwo ndi algorithm F5 ndi Andreas Westfeld, akugwira ntchito ndi ma coefficients a gawo lowala, popeza diso la munthu ndilosavuta kwambiri kusintha. Kuphatikiza apo, imagwiritsa ntchito njira yophatikizira potengera kabisidwe ka matrix, zomwe zimapangitsa kuti zitheke kusintha pang'ono poyika chidziwitso chofanana, kukula kwa chidebe chogwiritsidwa ntchito.

Zosinthazo zimatsika mpaka kuchepetsa mtengo wathunthu wa ma coefficients ndi chimodzi pansi pazikhalidwe zina (ndiko kuti, osati nthawi zonse), zomwe zimakupatsani mwayi wogwiritsa ntchito F5 kukhathamiritsa kusungirako deta pa hard drive yanu. Mfundo ndi yakuti coefficient pambuyo pa kusintha koteroko nthawi zambiri idzakhala ndi ma bits ochepa pambuyo pa Huffman encoding chifukwa cha kugawidwa kwa ziwerengero zamtengo wapatali mu JPEG, ndipo ziro zatsopano zidzapindula poziyika pogwiritsa ntchito RLE.

Zosintha zofunikira zimagwera pakuchotsa gawo lomwe limayang'anira chinsinsi (kukonzanso mawu achinsinsi), zomwe zimasunga zinthu ndi nthawi yochitira, ndikuwonjezera njira yogwirira ntchito ndi mafayilo ambiri m'malo mwa imodzi panthawi imodzi. Wowerenga sangakhale ndi chidwi ndi ndondomeko yosinthira mwatsatanetsatane, kotero tiyeni tipite ku kufotokozera za kukhazikitsidwa.

Makina apamwamba

Kuti ndiwonetse momwe njirayi imagwirira ntchito, ndidagwiritsa ntchito njirayo mwangwiro C ndikuchita zokometsera zingapo potsata liwiro la kuphedwa komanso kukumbukira (simungayerekeze kuti zithunzizi zimalemera bwanji popanda kukanikizidwa, ngakhale DCT isanachitike). Cross-platform yopezedwa pogwiritsa ntchito ma library ambiri libgpeg, pcre ΠΈ pang'ono, zomwe timawathokoza nazo. Zonsezi zimaphatikizidwa ndi 'kupanga', kotero ogwiritsa ntchito Windows akufuna kudziyikira okha Cygwin kuti awonedwe, kapena kuthana ndi Visual Studio ndi malaibulale paokha.

Kukhazikitsa kumapezeka mu mawonekedwe a console utility ndi library. Omwe ali ndi chidwi atha kudziwa zambiri za kugwiritsa ntchito chomalizachi mu readme m'malo osungira pa Github, ulalo womwe ndingayimire kumapeto kwa positi.

Kodi mungagwiritse ntchito bwanji?

Mosamala. Zithunzi zomwe zimagwiritsidwa ntchito popakira zimasankhidwa pofufuza pogwiritsa ntchito mawu okhazikika pamizu yoperekedwa. Mukamaliza, mafayilo amatha kusunthidwa, kusinthidwanso ndikukopera mwakufuna kwawo, kusintha mafayilo ndi machitidwe ogwiritsira ntchito, etc. Komabe, muyenera kusamala kwambiri ndipo musasinthe zomwe zangotsala pang'ono. Kutaya mtengo ngakhale pang'ono pang'ono kungapangitse kuti zikhale zosatheka kupeza zambiri.

Mukamaliza, ntchitoyo imasiya fayilo yapadera yosungiramo zinthu zomwe zili ndi zonse zofunika kuti mutulutse, kuphatikizapo deta ya zithunzi zomwe zimagwiritsidwa ntchito. Payokha, imalemera pafupifupi ma kilobytes angapo ndipo ilibe vuto lililonse pa danga la disk.

Mutha kusanthula kuchuluka komwe mungathe kugwiritsa ntchito '-a' mbendera: './f5ar -a [foda yakusaka] [mawu okhazikika a Perl]'. Kulongedza kumachitidwa ndi lamulo './f5ar -p [search foda] [Perl-compatible common expression] [packed file] [archive name]', ndi kumasula ndi './f5ar -u [archive file] [wopezanso fayilo ]'.

Chiwonetsero cha ntchito

Kuti ndiwonetse mphamvu ya njirayi, ndidakweza zithunzi 225 zaulere za agalu kuchokera pagululi. Unsplash ndipo anapeza m'zikalata pdf lalikulu la mamita 45 la buku lachiwiri Art of Programming Knuta.

Kutsatira kwake ndikosavuta:

$ du -sh knuth.pdf dogs/
44M knuth.pdf
633M dogs/

$ ./f5ar -p dogs/ .*jpg knuth.pdf dogs.f5ar
Reading compressing file... ok
Initializing the archive... ok
Analysing library capacity... done in 17.0s
Detected somewhat guaranteed capacity of 48439359 bytes
Detected possible capacity of upto 102618787 bytes
Compressing... done in 39.4s
Saving the archive... ok

$ ./f5ar -u dogs/dogs.f5ar knuth_unpacked.pdf
Initializing the archive... ok
Reading the archive file... ok
Filling the archive with files... done in 1.4s
Decompressing... done in 21.0s
Writing extracted data... ok

$ sha1sum knuth.pdf knuth_unpacked.pdf
5bd1f496d2e45e382f33959eae5ab15da12cd666 knuth.pdf
5bd1f496d2e45e382f33959eae5ab15da12cd666 knuth_unpacked.pdf

$ du -sh dogs/
551M dogs/

Zithunzi za mafani

Za njira yachilendo yosungira malo a hard disk

Fayilo yosapakidwa imatha ndipo iyenera kuwerengedwabe:

Za njira yachilendo yosungira malo a hard disk

Monga mukuonera, kuchokera ku 633 + 36 = = 669 megabytes ya deta pa hard drive, tinafika ku 551 yosangalatsa kwambiri. kukanikizana kosataya kotsatira: kuchepetsa chimodzi ndi chimodzi "kutha" kudula ma byte angapo pafayilo yomaliza. Komabe, uku ndi kutayika kwa data, ngakhale kochepa kwambiri, komwe muyenera kupirira.

Mwamwayi, iwo ali mwamtheradi wosawoneka ndi maso. Pansi pa wowononga (popeza habrastorage sangathe kunyamula mafayilo akulu), owerenga amatha kuwunika kusiyana ndi diso komanso kulimba kwawo, zomwe zimapezedwa pochotsa zikhalidwe zomwe zidasinthidwa kuchokera pachiyambi: choyambirira, ndi chidziwitso mkati, kusiyana (kuchepa kwa mtundu, kumachepetsa kusiyana kwa chipikacho).

M'malo mapeto

Poganizira zovuta zonsezi, kugula hard drive kapena kukweza chilichonse pamtambo kungawoneke ngati njira yosavuta yothetsera vutoli. Koma ngakhale tikukhala mu nthawi yodabwitsa chonchi tsopano, palibe zitsimikizo kuti mawa adzakhala zotheka kupita Intaneti ndi kukweza anu owonjezera deta kwinakwake. Kapena pitani ku sitolo ndikudzigulira chikwi china cha terabyte hard drive. Koma mutha kugwiritsa ntchito nyumba zomwe zilipo nthawi zonse.

-> GitHub

Source: www.habr.com

Kuwonjezera ndemanga