ஹார்ட் டிஸ்க் இடத்தை சேமிப்பதற்கான ஒரு விசித்திரமான முறை பற்றி

மற்றொரு பயனர் வன்வட்டில் ஒரு புதிய தரவை எழுத விரும்புகிறார், ஆனால் இதைச் செய்ய அவருக்கு போதுமான இடம் இல்லை. "எல்லாம் மிக முக்கியமானது மற்றும் அவசியமானது" என்பதால், நான் எதையும் நீக்க விரும்பவில்லை. மற்றும் நாம் அதை என்ன செய்ய வேண்டும்?

இந்த பிரச்சனை யாருக்கும் இல்லை. எங்கள் ஹார்டு டிரைவ்களில் டெராபைட் தகவல்கள் உள்ளன, மேலும் இந்த அளவு குறைவதில்லை. ஆனால் அது எவ்வளவு தனித்துவமானது? முடிவில், எல்லா கோப்புகளும் ஒரு குறிப்பிட்ட நீளத்தின் பிட்களின் தொகுப்புகள் மற்றும், பெரும்பாலும், புதியது ஏற்கனவே சேமித்து வைத்திருக்கும் ஒன்றிலிருந்து மிகவும் வேறுபட்டதல்ல.

ஹார்ட் டிரைவில் ஏற்கனவே சேமிக்கப்பட்டுள்ள தகவல்களைத் தேடுவது தோல்வியாக இல்லாவிட்டால், குறைந்த பட்சம் ஒரு பயனுள்ள பணி அல்ல என்பது தெளிவாகிறது. மறுபுறம், வித்தியாசம் சிறியதாக இருந்தால், நீங்கள் அதை சிறிது சரிசெய்யலாம் ...

ஹார்ட் டிஸ்க் இடத்தை சேமிப்பதற்கான ஒரு விசித்திரமான முறை பற்றி

TL;DR - JPEG கோப்புகளைப் பயன்படுத்தி தரவை மேம்படுத்தும் ஒரு விசித்திரமான முறையைப் பற்றி பேசுவதற்கான இரண்டாவது முயற்சி, இப்போது மிகவும் புரிந்துகொள்ளக்கூடிய வடிவத்தில் உள்ளது.

பிட்கள் மற்றும் வேறுபாடு பற்றி

நீங்கள் இரண்டு முற்றிலும் சீரற்ற தரவுகளை எடுத்துக் கொண்டால், அவை கொண்டிருக்கும் பிட்களின் சராசரி பாதி ஒத்துப்போகின்றன. உண்மையில், ஒவ்வொரு ஜோடிக்கும் ('00, 01, 10, 11′) சாத்தியமான தளவமைப்புகளில், சரியாக பாதி அதே மதிப்புகளைக் கொண்டுள்ளது, இங்கே எல்லாம் எளிது.

ஆனால் நிச்சயமாக, நாம் இரண்டு கோப்புகளை எடுத்து இரண்டாவதாக ஒன்றைப் பொருத்தினால், அவற்றில் ஒன்றை நாம் இழக்க நேரிடும். மாற்றங்களைச் சேமித்தால், நாம் வெறுமனே மீண்டும் கண்டுபிடிப்போம் டெல்டா குறியாக்கம், இது பொதுவாக அதே நோக்கங்களுக்காகப் பயன்படுத்தப்படாவிட்டாலும், நாம் இல்லாமல் நன்றாக இருக்கிறது. ஒரு சிறிய வரிசையை பெரியதாக உட்பொதிக்க முயற்சி செய்யலாம், ஆனால் எல்லாவற்றிலும் பொறுப்பற்ற முறையில் தரவுகளைப் பயன்படுத்தினால், முக்கியமான தரவை இழக்க நேரிடும்.

எதற்கும் எதற்கும் இடையில் வேறுபாடு நீக்கப்படலாம்? சரி, அதாவது, பயனரால் எழுதப்பட்ட ஒரு புதிய கோப்பு பிட்களின் வரிசையாகும், அதைக் கொண்டு நம்மால் எதையும் செய்ய முடியாது. வன்வட்டில் அத்தகைய பிட்களை நீங்கள் கண்டுபிடிக்க வேண்டும், அவை வித்தியாசத்தை சேமிக்காமல் மாற்றப்படலாம், இதன் மூலம் கடுமையான விளைவுகள் இல்லாமல் அவற்றின் இழப்பைத் தக்கவைக்க முடியும். FS இல் உள்ள கோப்பை மட்டுமல்ல, அதில் உள்ள சில குறைவான உணர்திறன் தகவல்களையும் மாற்றுவது அர்த்தமுள்ளதாக இருக்கிறது. ஆனால் எது, எப்படி?

பொருத்தும் முறைகள்

இழப்பு சுருக்கப்பட்ட கோப்புகள் மீட்புக்கு வருகின்றன. இந்த அனைத்து jpegs, mp3s மற்றும் பிற, இழப்பு சுருக்கம் என்றாலும், பாதுகாப்பாக மாற்றக்கூடிய பிட்கள் ஒரு கொத்து கொண்டிருக்கும். குறியாக்கத்தின் பல்வேறு நிலைகளில் அவற்றின் கூறுகளை மறைமுகமாக மாற்றியமைக்கும் மேம்பட்ட நுட்பங்களைப் பயன்படுத்துவது சாத்தியமாகும். காத்திரு. மேம்பட்ட உத்திகள்... கண்ணுக்குப் புலப்படாத மாற்றம்... ஒரு பிட் இன்னொன்று... கிட்டத்தட்ட இப்படித்தான் ஸ்டெகானோகிராபி!

உண்மையில், ஒரு தகவலை மற்றொன்றில் உட்பொதிப்பது வேறு ஒன்றும் இல்லாத அவரது முறைகளை நினைவூட்டுகிறது. மனித உணர்வுகளில் செய்யப்பட்ட மாற்றங்களின் புரிந்துகொள்ள முடியாத தன்மையால் நான் ஈர்க்கப்பட்டேன். பாதைகள் பிரியும் இடத்தில் இரகசியமாக உள்ளது: பயனர் தனது வன்வட்டில் கூடுதல் தகவலை உள்ளிடுவது எங்கள் பணியாகும்; அது அவருக்கு மட்டுமே தீங்கு விளைவிக்கும். மீண்டும் மறந்து விடுவார்.

எனவே, அவற்றைப் பயன்படுத்தலாம் என்றாலும், சில மாற்றங்களைச் செய்ய வேண்டும். பின்னர் நான் ஏற்கனவே உள்ள முறைகள் மற்றும் பொதுவான கோப்பு வடிவமைப்பின் உதாரணத்தைப் பயன்படுத்தி அவற்றைக் காண்பிப்பேன்.

குள்ளநரிகள் பற்றி

நீங்கள் உண்மையில் அதை அழுத்தினால், அது உலகில் மிகவும் சுருக்கக்கூடிய விஷயம். நிச்சயமாக, நாங்கள் JPEG கோப்புகளைப் பற்றி பேசுகிறோம். அதில் தரவை உட்பொதிக்க டன் கருவிகள் மற்றும் ஏற்கனவே உள்ள முறைகள் மட்டும் இல்லை, ஆனால் இது இந்த கிரகத்தில் மிகவும் பிரபலமான கிராபிக்ஸ் வடிவமாகும்.

ஹார்ட் டிஸ்க் இடத்தை சேமிப்பதற்கான ஒரு விசித்திரமான முறை பற்றி

இருப்பினும், நாய் வளர்ப்பில் ஈடுபடாமல் இருக்க, இந்த வடிவமைப்பின் கோப்புகளில் உங்கள் செயல்பாட்டுத் துறையை நீங்கள் கட்டுப்படுத்த வேண்டும். அதிகப்படியான சுருக்கத்தின் காரணமாக தோன்றும் ஒரே வண்ணமுடைய சதுரங்களை யாரும் விரும்புவதில்லை, எனவே ஏற்கனவே சுருக்கப்பட்ட கோப்புடன் பணிபுரிவதை நீங்கள் கட்டுப்படுத்திக் கொள்ள வேண்டும். மறுபதிவு செய்வதைத் தவிர்க்கிறது. மேலும் குறிப்பாக, முழு எண் குணகங்களுடன், தரவு இழப்புக்கு பொறுப்பான செயல்பாடுகளுக்குப் பிறகு இருக்கும் - டிசிடி மற்றும் அளவுப்படுத்தல், இது குறியாக்கத் திட்டத்தில் சரியாகக் காட்டப்படும் (பாமன் தேசிய நூலகத்தின் விக்கிக்கு நன்றி):
ஹார்ட் டிஸ்க் இடத்தை சேமிப்பதற்கான ஒரு விசித்திரமான முறை பற்றி

jpeg கோப்புகளை மேம்படுத்த பல வழிகள் உள்ளன. இழப்பற்ற தேர்வுமுறை உள்ளது (jpegtran), தேர்வுமுறை உள்ளது "இழப்பு இல்லை", இது உண்மையில் வேறு ஏதாவது பங்களிக்கிறது, ஆனால் நாங்கள் அவற்றைப் பற்றி கவலைப்படுவதில்லை. எல்லாவற்றிற்கும் மேலாக, இலவச வட்டு இடத்தை அதிகரிக்க பயனர் ஒரு தகவலை இன்னொன்றில் உட்பொதிக்கத் தயாராக இருந்தால், அவர் நீண்ட காலத்திற்கு முன்பு தனது படங்களை மேம்படுத்தினார், அல்லது தரம் இழக்க நேரிடும் என்ற அச்சத்தில் இதைச் செய்ய விரும்பவில்லை.

F5

அல்காரிதம்களின் முழு குடும்பமும் இந்த நிபந்தனைகளுக்கு பொருந்துகிறது, அதை நீங்கள் நன்கு அறிந்திருக்க முடியும் இந்த நல்ல விளக்கக்காட்சியில். அவற்றில் மிகவும் மேம்பட்டது அல்காரிதம் F5 ஆண்ட்ரியாஸ் வெஸ்ட்ஃபெல்ட், பிரகாசத்தின் கூறுகளின் குணகங்களுடன் பணிபுரிகிறார், ஏனெனில் மனிதக் கண் அதன் மாற்றங்களுக்கு மிகக் குறைந்த உணர்திறன் கொண்டது. மேலும், இது மேட்ரிக்ஸ் குறியாக்கத்தின் அடிப்படையிலான உட்பொதிக்கும் நுட்பத்தைப் பயன்படுத்துகிறது, இது அதே அளவிலான தகவலை உட்பொதிக்கும்போது குறைவான மாற்றங்களைச் செய்வதை சாத்தியமாக்குகிறது, பயன்படுத்தப்படும் கொள்கலனின் அளவு பெரியது.

மாற்றங்கள் சில நிபந்தனைகளின் கீழ் குணகங்களின் முழுமையான மதிப்பைக் குறைக்கின்றன (அதாவது எப்போதும் இல்லை), இது உங்கள் வன்வட்டில் தரவு சேமிப்பகத்தை மேம்படுத்த F5 ஐப் பயன்படுத்த அனுமதிக்கிறது. புள்ளி என்னவென்றால், அத்தகைய மாற்றத்திற்குப் பிறகு குணகம் JPEG இல் மதிப்புகளின் புள்ளிவிவர விநியோகம் காரணமாக ஹஃப்மேன் குறியாக்கத்திற்குப் பிறகு குறைவான பிட்களை ஆக்கிரமிக்கும், மேலும் RLE ஐப் பயன்படுத்தி அவற்றை குறியாக்கம் செய்யும் போது புதிய பூஜ்ஜியங்கள் ஆதாயத்தைக் கொடுக்கும்.

தேவையான மாற்றங்கள் இரகசியத்திற்கு (கடவுச்சொல் மறுசீரமைப்பு) பொறுப்பான பகுதியை நீக்குவதற்கு கொதிக்கின்றன, இது வளங்களையும் செயலாக்க நேரத்தையும் சேமிக்கிறது, மேலும் ஒரு நேரத்தில் ஒன்றுக்கு பதிலாக பல கோப்புகளுடன் பணிபுரியும் ஒரு பொறிமுறையைச் சேர்க்கிறது. வாசகருக்கு மாற்றச் செயல்பாட்டில் இன்னும் விரிவாக ஆர்வம் இருக்க வாய்ப்பில்லை, எனவே செயல்படுத்தல் பற்றிய விளக்கத்திற்குச் செல்லலாம்.

உயர் தொழில்நுட்பம்

இந்த அணுகுமுறை எவ்வாறு செயல்படுகிறது என்பதை நிரூபிக்க, நான் இந்த முறையை தூய C இல் செயல்படுத்தினேன் மற்றும் செயல்பாட்டின் வேகம் மற்றும் நினைவகம் ஆகிய இரண்டிலும் பல மேம்படுத்தல்களை மேற்கொண்டேன் (DCT க்கு முன்பே, இந்த படங்கள் சுருக்கம் இல்லாமல் எவ்வளவு எடையுள்ளவை என்பதை நீங்கள் கற்பனை செய்து பார்க்க முடியாது). நூலகங்களின் கலவையைப் பயன்படுத்தி குறுக்கு-தளம் அடையப்பட்டது libjpeg, pcre и tinydir, அதற்காக நாங்கள் அவர்களுக்கு நன்றி கூறுகிறோம். இவை அனைத்தும் 'make' மூலம் ஒன்றிணைக்கப்படுகின்றன, எனவே Windows பயனர்கள் தங்களுக்கு சில Cygwin ஐ மதிப்பீட்டிற்காக நிறுவ விரும்புகிறார்கள் அல்லது விஷுவல் ஸ்டுடியோ மற்றும் நூலகங்களை தாங்களாகவே கையாள விரும்புகிறார்கள்.

செயல்படுத்தல் ஒரு கன்சோல் பயன்பாடு மற்றும் நூலகம் வடிவத்தில் கிடைக்கிறது. ஆர்வமுள்ளவர்கள் கிதுப்பில் உள்ள களஞ்சியத்தில் உள்ள readme இல் பிந்தையதைப் பயன்படுத்துவது பற்றி மேலும் அறியலாம், அதன் இணைப்பை இடுகையின் முடிவில் இணைக்கிறேன்.

எப்படி பயன்படுத்துவது?

கவனமாக. பேக்கேஜிங்கிற்குப் பயன்படுத்தப்படும் படங்கள் கொடுக்கப்பட்ட ரூட் கோப்பகத்தில் வழக்கமான வெளிப்பாட்டைப் பயன்படுத்தி தேடுவதன் மூலம் தேர்ந்தெடுக்கப்படுகின்றன. முடிந்ததும், கோப்புகளை அதன் எல்லைக்குள் நகர்த்தலாம், மறுபெயரிடலாம் மற்றும் நகலெடுக்கலாம், கோப்பு மற்றும் இயக்க முறைமைகளை மாற்றலாம். இருப்பினும், நீங்கள் மிகவும் கவனமாக இருக்க வேண்டும் மற்றும் எந்த வகையிலும் உடனடி உள்ளடக்கத்தை மாற்றக்கூடாது. ஒரு பிட் மதிப்பை இழப்பது, தகவலை மீட்டெடுக்க இயலாது.

முடிந்ததும், பயன்படுத்தப்பட்ட படங்களைப் பற்றிய தரவு உட்பட, பேக்கிங் செய்வதற்குத் தேவையான அனைத்து தகவல்களையும் கொண்ட ஒரு சிறப்பு காப்பகக் கோப்பை பயன்பாடு விட்டுவிடும். தானாகவே, அதன் எடை இரண்டு கிலோபைட்டுகள் மற்றும் ஆக்கிரமிக்கப்பட்ட வட்டு இடத்தில் குறிப்பிடத்தக்க தாக்கத்தை ஏற்படுத்தாது.

'-a' கொடியைப் பயன்படுத்தி சாத்தியமான திறனை நீங்கள் பகுப்பாய்வு செய்யலாம்: './f5ar -a [தேடல் கோப்புறை] [Perl-இணக்கமான வழக்கமான வெளிப்பாடு]'. பேக்கிங் ஆனது './f5ar -p [தேடல் கோப்புறை] [Perl-compatible வழக்கமான வெளிப்பாடு] [நிரப்பப்பட்ட கோப்பு] [காப்பகத்தின் பெயர்]' மற்றும் './f5ar -u [காப்பகக் கோப்பு] [மீட்டெடுக்கப்பட்ட கோப்பு பெயர்] உடன் பேக்கிங் செய்யப்படுகிறது. ]'

வேலையின் ஆர்ப்பாட்டம்

முறையின் செயல்திறனைக் காட்ட, சேவையிலிருந்து 225 முற்றிலும் இலவச நாய்களின் புகைப்படங்களின் தொகுப்பைப் பதிவேற்றினேன். unsplash மற்றும் ஆவணங்களில் இரண்டாவது தொகுதியின் 45 மீட்டர் பெரிய pdf காணப்பட்டது நிரலாக்க கலை க்னுடா.

வரிசை மிகவும் எளிமையானது:

$ 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/

ரசிகர்களுக்கான ஸ்கிரீன்ஷாட்கள்

ஹார்ட் டிஸ்க் இடத்தை சேமிப்பதற்கான ஒரு விசித்திரமான முறை பற்றி

தொகுக்கப்படாத கோப்பு இன்னும் படிக்கலாம்:

ஹார்ட் டிஸ்க் இடத்தை சேமிப்பதற்கான ஒரு விசித்திரமான முறை பற்றி

நீங்கள் பார்க்க முடியும் என, ஹார்ட் டிரைவில் உள்ள அசல் 633 + 36 == 669 மெகாபைட் தரவுகளிலிருந்து, நாங்கள் மிகவும் இனிமையான 551 க்கு வந்தோம். இத்தகைய தீவிர வேறுபாடு குணகங்களின் மதிப்புகள் குறைவதன் மூலம் விளக்கப்படுகிறது, இது அவற்றின் தாக்கத்தை பாதிக்கிறது. அடுத்தடுத்த இழப்பற்ற சுருக்கம்: ஒன்றன் பின் ஒன்றாகக் குறைப்பது எளிதாக "இறுதிக் கோப்பிலிருந்து இரண்டு பைட்டுகளை துண்டிக்கலாம். இருப்பினும், இது இன்னும் ஒரு தரவு இழப்பாகும், மிகவும் சிறியது என்றாலும், நீங்கள் பொறுத்துக்கொள்ள வேண்டும்.

அதிர்ஷ்டவசமாக, அவை கண்ணுக்கு முற்றிலும் கண்ணுக்கு தெரியாதவை. ஸ்பாய்லரின் கீழ் (ஹப்ராஸ்டோரேஜ் பெரிய கோப்புகளைக் கையாள முடியாது என்பதால்), அசல் இருந்து மாற்றப்பட்ட கூறுகளின் மதிப்புகளைக் கழிப்பதன் மூலம் பெறப்பட்ட கண் மற்றும் அவற்றின் தீவிரம் ஆகிய இரண்டிலும் வித்தியாசத்தை வாசகர் மதிப்பீடு செய்யலாம்: அசல், உள்ளே உள்ள தகவல்களுடன், வேறுபாடு (மங்கலான நிறம், தொகுதியில் சிறிய வேறுபாடு).

அதற்கு பதிலாக, ஒரு முடிவுக்கும்

இந்த எல்லா சிரமங்களையும் கருத்தில் கொண்டு, ஹார்ட் டிரைவை வாங்குவது அல்லது எல்லாவற்றையும் கிளவுட்டில் பதிவேற்றுவது சிக்கலுக்கு மிகவும் எளிமையான தீர்வாகத் தோன்றலாம். ஆனால் நாம் இப்போது அத்தகைய அற்புதமான காலத்தில் வாழ்ந்தாலும், நாளை ஆன்லைனில் சென்று உங்களின் அனைத்து கூடுதல் தரவையும் எங்காவது பதிவேற்ற முடியும் என்பதற்கு எந்த உத்தரவாதமும் இல்லை. அல்லது கடைக்குச் சென்று இன்னொரு ஆயிரம் டெராபைட் ஹார்ட் டிரைவை நீங்களே வாங்கிக் கொள்ளுங்கள். ஆனால் நீங்கள் எப்போதும் இருக்கும் வீடுகளைப் பயன்படுத்தலாம்.

-> மகிழ்ச்சியா

ஆதாரம்: www.habr.com

கருத்தைச் சேர்