Mosebelisi e mong o batla ho ngola sengoathoana sa data ho hard drive, empa ha a na sebaka se lekaneng sa ho etsa sena. Hape ha ke batle ho hlakola letho, kaha "ntho e 'ngoe le e' ngoe e bohlokoa haholo ebile e hlokahala." Hona re lokela ho etsa’ng ka eona?
Ha ho motho ea nang le bothata bona. Ho na le li-terabyte tsa tlhahisoleseling ho li-hard drive tsa rona, 'me chelete ena ha e fokotsehe. Empa e ikhetha hakae? Qetellong, lifaele tsohle ke likotoana tsa bolelele bo itseng, 'me ho ka etsahala hore e ncha ha e fapane haholo le e seng e bolokiloe.
Ho hlakile hore ho batla likarolo tsa tlhahisoleseding e seng e bolokiloe ho hard drive ke, haeba e se ho hlōleha, joale bonyane hase mosebetsi o atlehang. Ka lehlakoreng le leng, haeba phapang e le nyane, joale o ka e lokisa hanyane ...
TL; DR - teko ea bobeli ea ho bua ka mokhoa o makatsang oa ho ntlafatsa data ka ho sebelisa lifaele tsa JPEG, hona joale ka mokhoa o utloisisoang haholoanyane.
Mabapi le likotoana le phapang
Haeba u nka likotoana tse peli tsa data tse sa reroang, joale ka karolelano halofo ea likotoana tseo li nang le tsona lia lumellana. Ha e le hantle, har'a mekhoa e ka khonehang bakeng sa para e 'ngoe le e' ngoe ('00, 01, 10, 11′), hantle halofo e na le litekanyetso tse tšoanang, ntho e 'ngoe le e' ngoe e bonolo mona.
Empa ha e le hantle, haeba re nka lifaele tse peli feela 'me re lumellana le e' ngoe ho ea ho ea bobeli, joale re tla lahleheloa ke e 'ngoe ea tsona. Haeba re boloka liphetoho, re tla iqapela bocha
Pakeng tsa eng le eng joale phapang e ka felisoa? Ho joalo, ke hore, faele e ncha e ngotsoeng ke mosebelisi ke tatellano ea likotoana, eo ka eona re ke keng ra etsa letho ka boyona. Joale o hloka feela ho fumana likotoana tse joalo ho hard drive e le hore li ka fetoloa ntle le ho boloka phapang, e le hore u ka pholoha tahlehelo ea bona ntle le liphello tse tebileng. 'Me hoa utloahala ho fetola eseng feela faele ho FS ka boeona, empa lintlha tse ling tse fokolang ka hare ho eona. Empa ke efe, hona joang?
Mekhoa ea ho kopanya
Lifaele tse hatelitsoeng tse lahlehileng lia thusa. Li-jpegs tsena kaofela, li-mp3 le tse ling, leha ho le joalo, li na le likotoana tse ngata tse ka fetoloang ka mokhoa o sireletsehileng. Hoa khonahala ho sebelisa mekhoa e tsoetseng pele e fetolang likarolo tsa bona ka mokhoa o sa bonahaleng maemong a fapaneng a khouto. Ema. Mekhoa e tsoetseng pele ... phetoho e sa amoheleheng ... e 'ngoe ho ea ho e' ngoe ... e batla e tšoana
Ka 'nete, ho kenyelletsa tlhahisoleseding e 'ngoe ho e' ngoe ho hopotsa mekhoa ea hae ho feta leha e le efe. Ke boetse ke khahliloe ke ho se hlokomelehe ha liphetoho tse entsoeng menahanong ea batho. Moo litsela li fapanang ka lekunutu: mosebetsi oa rona o theohela ho mosebelisi ea kenyang tlhaiso-leseling e eketsehileng ho hard drive ea hae; e tla mo ntša kotsi feela. O tla lebala hape.
Ka hona, le hoja re ka li sebelisa, ho hlokahala hore re etse liphetoho tse itseng. 'Me joale ke tla ba bolella le ho ba bontša ho sebelisa mohlala oa e' ngoe ea mekhoa e teng le mokhoa o tloaelehileng oa faele.
Mabapi le liphokojoe
Haeba u hlile u e pepeta, ke ntho e hatellang ka ho fetisisa lefatšeng. Ehlile, re bua ka lifaele tsa JPEG. Ha se feela hore ho na le lithane tsa lisebelisoa le mekhoa e teng ea ho kenya data ho eona, empa ke mofuta oa litšoantšo o tsebahalang haholo polaneteng ena.
Leha ho le joalo, e le hore u se ke ua kopanela ho tsoalisa lintja, u lokela ho fokotsa mosebetsi oa hau ho lifaele tsa sebopeho sena. Ha ho motho ea ratang li-square tsa monochrome tse hlahang ka lebaka la khatello e feteletseng, kahoo o hloka ho ipehela meeli ea ho sebetsa ka faele e seng e hatelitsoe, ho qoba ho ngola botjha. Ka ho khetheha, ka li-coefficients tse feletseng, tse setseng ka mor'a ts'ebetso e ikarabellang bakeng sa tahlehelo ea data - DCT le quantization, e bonts'itsoeng ka mokhoa o phethahetseng lenaneong la khouto (ka lebaka la wiki ea Bauman National Library):
Ho na le mekhoa e mengata ea ho ntlafatsa lifaele tsa jpeg. Ho na le ts'ebetso e sa lahleheng (jpegtran), ho na le ts'ebetso "
F5
Lelapa lohle la li-algorithms le lumellana le maemo ana, ao u ka tloaelanang le 'ona
Liphetoho ka botsona li theohela ho fokotsa boleng bo felletseng ba li-coefficients ka e le 'ngoe tlasa maemo a itseng (ke hore, eseng kamehla), e u lumellang ho sebelisa F5 ho ntlafatsa polokelo ea data ho hard drive ea hau. Taba ke hore coefficient ka mor'a phetoho e joalo e tla lula e le likotoana tse fokolang ka mor'a hore Huffman e kenngoe ka lebaka la kabo ea lipalo-palo ea boleng ho JPEG, 'me li-zero tse ncha li tla fana ka phaello ha u li kenya ka RLE.
Liphetoho tse hlokahalang li pheha ho felisa karolo e ikarabellang bakeng sa ho boloka sephiri (password rearrangement), e bolokang lisebelisoa le nako ea ho phethahatsa, le ho eketsa mokhoa oa ho sebetsa le lifaele tse ngata ho e-na le e le 'ngoe ka nako. Ho ke ke ha etsahala hore 'mali a thahaselle mokhoa oa phetoho ka ho qaqileng haholoanyane, kahoo a re tsoeleng pele ho tlhaloso ea ts'ebetsong.
Mahlale a phahameng
Ho bonts'a hore na mokhoa ona o sebetsa joang, ke sebelisitse mokhoa ona ka C e hloekileng mme ka etsa lintlafatso tse 'maloa ho latela lebelo la ts'ebetso le mohopolo (o ke ke oa nahana hore na litšoantšo tsena li boima hakae ntle le khatello, le pele ho DCT). Cross-platform finyelloa ka ho sebelisa motsoako oa lilaebrari
Ts'ebetsong e fumaneha ka mokhoa oa lisebelisoa tsa console le laebrari. Ba nang le thahasello ba ka tseba haholoanyane ka ho sebelisa ea morao-rao ho bala sebakeng sa polokelo ho Github, sehokelo seo ke tla se hokela qetellong ea poso.
U ka se sebelisa joang?
Ka hloko. Litšoantšo tse sebelisetsoang ho paka li khethoa ka ho batla ho sebelisa polelo e tloaelehileng bukeng ea metso e fanoeng. Ha o qetile, lifaele li ka sisinyeha, tsa reha bocha le ho kopitsoa ka thato ea eona ka har'a meeli ea eona, fetola faele le lits'ebetso tsa ts'ebetso, joalo-joalo. Leha ho le joalo, u lokela ho ba hlokolosi haholo 'me u se ke ua fetola litaba tsa hang-hang ka tsela efe kapa efe. Ho lahleheloa ke boleng ba karolo e le 'ngoe feela ho ka etsa hore ho se khonehe ho khutlisa tlhahisoleseling.
Ha e phethetsoe, sesebelisoa se siea faele e khethehileng ea polokelo e nang le tlhaiso-leseling e hlokahalang bakeng sa ho notlolla, ho kenyelletsa le data mabapi le litšoantšo tse sebelisitsoeng. Ka boeona, e boima ba li-kilobyte tse 'maloa' me ha e na tšusumetso e kholo sebakeng sa disk se tšoaretsoeng.
O ka sekaseka bokhoni bo ka bang teng ka ho sebelisa '-a' folakha: './f5ar -a [search folder] [Polelo e tloaelehileng e lumellanang le Perl]'. Ho paka ho etsoa ka taelo ea './f5ar -p [search folder] [Polelo e tloaelehileng e lumellanang le Perl] [packed file] [archive name]', 'me e khoasolla ka'./f5ar -u [archive file] [lebitso la faele le fumaneng ]' .
Pontšo ea mosebetsi
Ho bonts'a katleho ea mokhoa ona, ke kentse pokello ea linepe tse 225 tsa mahala tsa lintja tse tsoang ts'ebeletso.
Tatelano e bonolo haholo:
$ 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/
Litšoantšo tsa skrini bakeng sa balateli
Faele e sa pakoang e ka baloa ebile e ntse e lokela ho baloa:
Joalokaha u ka bona, ho tloha ho ea pele ea 633 + 36 == 669 megabytes ea data ho hard drive, re fihlile ho monate ho feta 551. Phapang e joalo e kholo e hlalosoa ke ho fokotseha ha litekanyetso tsa coefficients, tse amang bona. khatello e sa lahleheng e latelang: ho fokotsa e le 'ngoe feela ho ka " khaola li-byte tse 'maloa faeleng ea ho qetela. Leha ho le joalo, ena e ntse e le tahlehelo ea data, leha e le e nyane haholo, eo u tla tlameha ho e mamella.
Ka lehlohonolo, ho hang ha li bonahale mahlong. Tlas'a spoiler (kaha habrastorage ha e khone ho sebetsana le lifaele tse kholo), 'mali a ka lekola phapang ka leihlo le matla a bona, e fumanoang ka ho tlosa boleng ba karolo e fetotsoeng ho ea pele:
Ho e-na phetheha
Ha re nahana ka mathata ana kaofela, ho reka hard drive kapa ho kenya ntho e 'ngoe le e' ngoe ho leru ho ka 'na ha bonahala e le tharollo e bonolo haholoanyane bothateng. Empa le hoja re phela nakong e monate hakana hona joale, ha ho na tiiso ea hore hosasane ho ntse ho tla khoneha ho kena Inthaneteng le ho kenya lintlha tsohle tsa hau tse eketsehileng kae-kae. Kapa u ee lebenkeleng 'me u ithekele li-hard drive tse ling tse sekete tsa terabyte. Empa u ka sebelisa matlo a teng kamehla.
->
Source: www.habr.com