Mumwe mushandisi anoda kunyora chidimbu chitsva che data kune hard drive, asi haana yakakwana yemahara nzvimbo yekuita izvi. Ini zvakare handidi kudzima chero chinhu, nekuti "zvese zvakakosha uye zvakakosha." Uye chii chatinofanira kuita nazvo?
Hapana ane dambudziko iri. Kune ma terabytes eruzivo pamadhiraivha edu, uye huwandu uhu hahuite kudzikira. Asi rakasiyana sei? Pakupedzisira, mafaira ose anongova seti yezvimedu zvehurefu hwakati uye, zvichida, iyo itsva haina kunyanya kusiyana kubva kune yakatochengetwa.
Zviri pachena kuti kutsvaga zvidimbu zvemashoko zvakatochengetwa pane dhirairi rakaoma, kana kusiri kukundikana, saka kwete basa rinoshanda. Kune rumwe rutivi, kana mutsauko uri mudiki, saka unogona kuigadzirisa zvishoma ...
TL; DR - kuyedza kwechipiri kutaura nezve nzira isinganzwisisike yekukwenenzvera data uchishandisa JPEG mafaera, ikozvino mune inonzwisisika fomu.
Nezve mabhiti uye musiyano
Kana iwe ukatora zvidimbu zviviri zvisina kurongeka zve data, saka paavhareji hafu yemabhiti aainawo anopindirana. Chokwadi, pakati pezvimiro zvinogoneka zvepairi yega yega ('00, 01, 10, 11β²), hafu chaiyo ine maitiro akafanana, zvese zviri nyore pano.
Asi chokwadi, kana tikangotora mafaira maviri uye tichikodzera imwe kune yechipiri, ipapo ticharasikirwa nerimwe rawo. Kana isu tikachengeta shanduko, isu tinongo tangazve
Pakati pei uye chii zvino musiyano unogona kubviswa? Zvakanaka, ndiko kuti, faira idzva rakanyorwa nemushandisi ingori nhevedzano yezvimedu, izvo zvatisingakwanise kuita chero chinhu pachayo. Ipapo iwe unongoda kuwana mabheti akadaro pane hard drive kuti anogona kuchinjwa pasina kuchengetedza mutsauko, kuitira kuti iwe ugone kupona kurasikirwa kwavo pasina mhedzisiro yakakomba. Uye zvine musoro kusandura kwete faira paFS pachayo, asi mamwe mashoko asina kusimba mukati mayo. Asi ndeipi uye sei?
Kukodzera nzira
Mafaira akaomeswa akarasika anouya kuzonunura. Ese aya majpegs, mp3s uye mamwe, kunyangwe akarasika compression, ane boka remabheti anogona kushandurwa zvakachengeteka. Zvinogoneka kushandisa matekiniki epamusoro anoshandura zvisingaonekwe zvikamu zvawo pamatanho akasiyana eencoding. Mira. Advanced mano ... imperceptible kugadziridzwa ... imwe zvishoma mune imwe ... zvinenge zvakafanana
Chokwadi, kuisa rumwe ruzivo mune imwe kunoyeuchidza nzira dzake senge hapana chimwe chinhu. Ndinoororwawo nekusaonekwa kwechinjo dzinoitwa kupfungwa dzevanhu. Iko nzira dzinosiyana pachivande: basa redu rinodzika kune mushandisi kuisa rumwe ruzivo pane yake hard drive; zvinongomukuvadza. Achakanganwa zvakare.
Nokudaro, kunyange zvazvo tichigona kuzvishandisa, tinofanira kuita zvimwe gadziridzo. Uye ipapo ini ndichavaudza nekuvaratidza ndichishandisa muenzaniso weimwe yenzira dziripo uye yakajairika faira fomati.
Pamusoro pemakava
Kana iwe uchinyatso svina, ndicho chinhu chinodzvinyirira zvakanyanya munyika. Isu tiri, chokwadi, kutaura nezve JPEG mafaera. Kwete chete kune matani ezvishandiso uye nzira dziripo dzekuisa data mairi, asi ndiyo inonyanya kufarirwa magiraidhi fomati papasi rino.
Nekudaro, kuti usaite kubereka imbwa, unofanirwa kudzikamisa munda wako wekuita mumafaira eiyo fomati. Hapana anofarira monochrome masikweya anoonekwa nekuda kwekudzvanyirira kwakanyanya, saka iwe unofanirwa kuzviganhurira pakushanda nefaira rakatodzvanywa, kudzivisa recoding. Kunyanya, neinteger coefficients, inosara mushure mekuita basa rekurasikirwa nedata - DCT uye quantization, iyo inonyatso kuratidzwa muiyo encoding scheme (nekuda kwewiki yeBauman National Library):
Pane nzira dzakawanda dzinogoneka dzekugadzirisa mafaera ejpeg. Pane kusarasikirwa optimization (jpegtran), pane optimization "
F5
Mhuri yese yealgorithms inokodzera aya mamiriro, ayo iwe aunogona kujairana nawo
Shanduko pachadzo dzinodzika kudzikisira kukosha kweiyo coefficients neimwe pasi pemamwe mamiriro (kureva, kwete nguva dzose), izvo zvinokutendera kuti ushandise F5 kukwenenzvera kuchengetedza data pane yako hard drive. Icho chiripo ndechekuti coefficient mushure mekuchinja kwakadaro ingangove inotora mashoma mabits mushure meHuffman encoding nekuda kwekugoverwa kwehuwandu hwehukoshi muJPEG, uye mazero matsva achapa mhindu paunoakodha uchishandisa RLE.
Izvo zvinodikanwa zvigadziriso zvinowira pasi pakubvisa chikamu chine chekuita nekuvanzika (password rearrangement), iyo inochengetedza zviwanikwa uye nguva yekuuraya, uye nekuwedzera nzira yekushanda nemafaira akawanda pane imwe panguva. Muverengi haakwanisi kufarira shanduko yekuchinja mune zvakadzama, saka ngatienderere mberi kune tsananguro yekushandiswa.
High tech
Kuratidza kuti nzira iyi inoshanda sei, ndakashandisa nzira yacho mune yakachena C uye ndikaita akati wandei magadzirirwo maererano nekumhanya kwekuuraya uye ndangariro (haugone kufungidzira kuti mapikicha aya anorema zvakadii pasina kudzvanywa, kunyangwe pamberi peDCT). Muchinjikwa-chikuva chakawanikwa uchishandisa musanganiswa wemaraibhurari
Iko kusevenzesa kunowanikwa muchimiro chekoni utility uye raibhurari. Avo vanofarira vanogona kuziva zvakawanda nezve kushandisa iyo yekupedzisira mune yekuverenga mune repository paGithub, chinongedzo chandichabatanidza pakupera kweposvo.
Nzira yekushandisa sei?
Kungwarira. Iyo mifananidzo inoshandiswa pakurongedza inosarudzwa nekutsvaga uchishandisa yakajairika kutaura mune yakapihwa midzi dhairekitori. Pakupedzwa, mafaira anogona kutamiswa, kutumidzwa zita uye kukopa pakuda mukati memiganhu yayo, shandura faira uye masisitimu anoshanda, etc. Zvisinei, iwe unofanirwa kuchenjerera zvakanyanya uye usachinje izvo zvinongoitika chero nzira. Kurasikirwa nekukosha kwechinhu chimwe chete kunogona kuita kuti zvisakwanise kudzoreredza ruzivo.
Kana yapedza, iyo yekushandisa inosiya yakakosha faira faira ine ruzivo rwese rwunodiwa pakuburitsa, kusanganisira data nezvemifananidzo yakashandiswa. Iyo pachayo, inorema anenge akati wandei kilobytes uye haina chero yakakosha kukanganisa pane yakagarwa dhisiki nzvimbo.
Unogona kuongorora huwandu hunobvira uchishandisa iyo '-a' mureza: './f5ar -a [tsvaga folda] [Perl-inoenderana yenguva dzose kutaura]'. Kurongedza kunoitwa nemurairo './f5ar -p [tsvaga folda] [Perl-inoenderana nguva dzose kutaura] [yakazara faira] [zita rekuchengetedza]', uye kuburitsa ne'./f5ar -u [archive file] [yakawanazve faira zita ]' .
Kuratidzira basa
Kuratidza kushanda kweiyo nzira, ndakaisa muunganidzwa we225 yemahara mapikicha embwa kubva kubasa.
Kutevedzana kuri nyore:
$ 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/
Screenshots kune vateveri
Iyo faira isina kuvharwa inogona uye inofanira kuramba ichiverengwa:
Sezvauri kuona, kubva kune yepakutanga 633 + 36 == 669 megabytes yedata pane hard drive, takasvika kune yakanakisa 551. Musiyano wakakura wakadaro unotsanangurwa nekuderera kwehunhu hweiyo coefficients, iyo inokanganisa yavo. kunotevera kusarasikirwa kwekumanikidza: kudzikisa imwe neimwe kunogona nyore " kucheka akati wandei mabhaiti kubva pafaira rekupedzisira. Nekudaro, uku kuchiri kurasikirwa nedata, kunyangwe iri diki zvakanyanya, rauchazofanira kutsungirira.
Sezvineiwo, havanyatsooneki neziso. Pasi pemuparadzi (sezvo habrastorage isingakwanise kubata mafaira akakura), muverengi anogona kuongorora mutsauko neziso uye kusimba kwavo, inowanikwa nekubvisa kukosha kwechikamu chakashandurwa kubva kune chepakutanga:
Pane mhedziso
Tichifunga nezvematambudziko ese aya, kutenga hard drive kana kurodha zvese kune gore zvingaite senge mhinduro iri nyore kudambudziko. Asi kunyangwe isu tichirarama munguva yakanaka kudaro ikozvino, hapana vimbiso yekuti mangwana zvicharamba zvichigoneka kuenda online uye kurodha yako yese yekuwedzera data kumwe kunhu. Kana kuti enda kuchitoro uzvitengere chimwe chiuru cheterabyte hard drive. Asi unogona kushandisa nguva dzose dzimba dziripo.
->
Source: www.habr.com