هارڊ ڊسڪ جي جاء بچائڻ لاء هڪ عجيب طريقو بابت

ٻيو استعمال ڪندڙ هارڊ ڊرائيو تي ڊيٽا جو هڪ نئون ٽڪرو لکڻ چاهي ٿو، پر هن کي ائين ڪرڻ لاء ڪافي خالي جاء نه آهي. مان ڪجھ به ختم ڪرڻ نه ٿو چاهيان، ڇاڪاڻ ته "هر شيء تمام ضروري ۽ ضروري آهي." ۽ اسان کي ان سان ڇا ڪرڻ گهرجي؟

ڪو به اهو مسئلو ناهي. اسان جي هارڊ ڊرائيو تي معلومات جا ٽيرا بائيٽ آهن، ۽ اهو مقدار گهٽجڻ جو رجحان ناهي. پر اهو ڪيترو منفرد آهي؟ آخر ۾، سڀئي فائلون صرف هڪ خاص لمبائي جي بٽ جا سيٽ آهن ۽، گهڻو ڪري، نئين هڪ کان گهڻو مختلف ناهي جيڪو اڳ ۾ ئي ذخيرو ٿيل آهي.

اهو واضح آهي ته هارڊ ڊرائيو تي اڳ ۾ ئي محفوظ ڪيل معلومات جا ٽڪرا ڳولڻ آهي، جيڪڏهن ناڪامي ناهي، پوء گهٽ ۾ گهٽ هڪ مؤثر ڪم نه آهي. ٻئي طرف، جيڪڏهن فرق ننڍڙو آهي، ته پوء توهان ان کي ٿورو ترتيب ڏئي سگهو ٿا ...

هارڊ ڊسڪ جي جاء بچائڻ لاء هڪ عجيب طريقو بابت

TL؛ DR - JPEG فائلن کي استعمال ڪندي ڊيٽا کي بهتر ڪرڻ جي هڪ عجيب طريقي بابت ڳالهائڻ جي ٻي ڪوشش، هاڻي وڌيڪ سمجھڻ واري شڪل ۾.

بٽ ۽ فرق بابت

جيڪڏهن توهان ڊيٽا جا ٻه مڪمل طور تي بي ترتيب ٽڪرا کڻندا آهيو، ته پوءِ سراسري طور تي اڌ بٽ انهن تي مشتمل هوندا. درحقيقت، هر جوڙي لاء ممڪن ترتيبن مان ('00، 01، 10، 11')، بلڪل اڌ ۾ ساڳيا قدر آهن، هتي هر شيء سادو آهي.

پر يقينن، جيڪڏهن اسان صرف ٻه فائلون وٺون ٿا ۽ هڪ کي ٻئي ۾ فٽ ڪريون ٿا، پوء اسان انهن مان هڪ وڃائي ڇڏينداسين. جيڪڏهن اسان تبديلين کي بچايو، اسان کي صرف ٻيهر ٺاهينداسين ڊيلٽا انڪوڊنگ، جيڪو اسان کان سواءِ مڪمل طور تي موجود آهي، جيتوڻيڪ اهو عام طور تي ساڳئي مقصدن لاءِ استعمال نٿو ٿئي. اسان ڪوشش ڪري سگھون ٿا ھڪڙي ننڍڙي ترتيب کي ھڪڙي وڏي ۾ شامل ڪرڻ جي، پر ان جي باوجود اسان ڊيٽا جي نازڪ حصن کي وڃائڻ جو خطرو آھي جيڪڏھن اسان ان کي ھر شيء سان لاپرواھيء سان استعمال ڪندا آھيون.

پوءِ ڪهڙي ۽ ڪهڙي وچ ۾ فرق ختم ٿي سگهي ٿو؟ خير، اهو آهي، صارف پاران لکيل هڪ نئين فائل صرف بٽس جو هڪ سلسلو آهي، جنهن سان اسان پاڻ ڪجهه به نٿا ڪري سگهون. پوء توهان کي صرف هارڊ ڊرائيو تي اهڙيون بٽ ڳولڻ جي ضرورت آهي ته اهي فرق کي ذخيرو ڪرڻ جي بغير تبديل ڪري سگھجن ٿيون، ته جيئن توهان انهن جي نقصان کان بغير ڪنهن سنگين نتيجن کان بچائي سگهو ٿا. ۽ اهو سمجھ ۾ اچي ٿو ته نه رڳو فائل کي تبديل ڪرڻ جي FS پاڻ تي، پر ان جي اندر ڪجهه گهٽ حساس معلومات. پر ڪهڙو ۽ ڪيئن؟

ٺاھڻ جا طريقا

نقصان واري کمپريس ٿيل فائلون بچاء لاء اچن ٿيون. اهي سڀئي jpegs، mp3s ۽ ٻيا، جيتوڻيڪ نقصانڪار ڪمپريشن، بٽ جو هڪ گروپ شامل آهي جيڪي محفوظ طور تي تبديل ڪري سگھجن ٿيون. اهو ممڪن آهي ته ترقي يافته ٽيڪنالاجي استعمال ڪرڻ لاء جيڪي انڪوڊنگ جي مختلف مرحلن تي انهن جي اجزاء کي غير معقول طور تي تبديل ڪن ٿيون. انتظار ڪريو. ڳوڙهي ٽيڪنڪ... ناقابل تصور تبديلي... هڪ سا ٻئي ۾... اهو لڳ ڀڳ ائين آهي اسٽيگنگرافي!

درحقيقت، هڪ معلومات کي ٻئي ۾ شامل ڪرڻ هن جي طريقن جي ياد ڏياريندڙ آهي جهڙوڪ ٻيو ڪجهه ناهي. مان انساني حواس ۾ ڪيل تبديلين جي ناقابل قبوليت کان پڻ متاثر آهيان. جتي رستا ڌار ٿين ٿا رازداري ۾: اسان جو ڪم هيٺ اچي ٿو صارف ڏانهن اضافي معلومات داخل ڪري پنهنجي هارڊ ڊرائيو تي؛ اهو صرف هن کي نقصان پهچائيندو. هو وري وساري ڇڏيندو.

تنهن ڪري، جيتوڻيڪ اسان انهن کي استعمال ڪري سگهون ٿا، اسان کي ڪجهه ترميم ڪرڻ جي ضرورت آهي. ۽ پوء آئون انهن کي ٻڌايان ٿو ۽ ڏيکاريندس انهن مان هڪ مثال استعمال ڪندي موجوده طريقن ۽ هڪ عام فائيل فارميٽ.

ٻڪرين بابت

جيڪڏهن توهان واقعي ان کي نچوض ڪيو، اهو دنيا ۾ سڀ کان وڌيڪ دٻاء واري شيء آهي. اسان، يقينا، JPEG فائلن بابت ڳالهائي رهيا آهيون. نه رڳو ان ۾ ڊيٽا کي شامل ڪرڻ لاءِ ڪيترائي اوزار ۽ موجوده طريقا موجود آھن، پر اھو ھن ڌرتيءَ تي سڀ کان وڌيڪ مقبول گرافڪس فارميٽ آھي.

هارڊ ڊسڪ جي جاء بچائڻ لاء هڪ عجيب طريقو بابت

تنهن هوندي، ڪتن جي نسل ۾ مشغول نه ڪرڻ لاء، توهان کي هن فارميٽ جي فائلن ۾ توهان جي سرگرمي جي فيلڊ کي محدود ڪرڻ جي ضرورت آهي. ڪو به مونوڪروم اسڪوائر کي پسند نٿو ڪري جيڪو گهڻو ڪمپريشن جي ڪري ظاهر ٿئي ٿو، تنهنڪري توهان کي پنهنجي پاڻ کي محدود ڪرڻ جي ضرورت آهي ته اڳ ۾ ئي ٺهيل فائل سان ڪم ڪرڻ لاء، ريڪارڊنگ کان بچڻ. وڌيڪ خاص طور تي، انٽيجر ڪوئفينٽس سان، جيڪي ڊيٽا جي نقصان جي ذميوار آپريشن کان پوءِ رهن ٿا - ڊي سي ٽي ۽ ڪوانٽيائيزيشن، جيڪو مڪمل طور تي انڪوڊنگ اسڪيم ۾ ڏيکاريل آهي (باؤمن نيشنل لائبريري جي وڪي جي مهرباني):
هارڊ ڊسڪ جي جاء بچائڻ لاء هڪ عجيب طريقو بابت

jpeg فائلن کي بهتر ڪرڻ لاءِ ڪيترائي ممڪن طريقا آھن. اتي نقصان کان سواء اصلاح (jpegtran)، اتي اصلاح آهي "ڪو نقصان"، جيڪو اصل ۾ ڪجهه ٻيو حصو ڏئي ٿو، پر اسان کي انهن جي پرواهه ناهي. آخرڪار، جيڪڏهن صارف مفت ڊسڪ اسپيس کي وڌائڻ لاء هڪ معلومات کي ٻئي ۾ شامل ڪرڻ لاء تيار آهي، پوء هن يا ته هن جي تصويرن کي گهڻو وقت اڳ بهتر ڪيو، يا معيار جي نقصان جي خوف کان اهو سڀ ڪجهه ڪرڻ نه ٿو چاهي.

F5

الگورتھم جو ھڪڙو سڄو خاندان انھن شرطن کي پورو ڪري ٿو، جنھن سان توھان پاڻ کي واقف ڪري سگھو ٿا هن سٺي پيشڪش ۾. انهن مان سڀ کان وڌيڪ ترقي يافته الورورٿم آهي F5 Andreas Westfeld طرفان، روشني جي جزن جي کوٽائي سان ڪم ڪري رهيو آهي، ڇاڪاڻ ته انساني اک ان جي تبديلين لاء تمام گهٽ حساس آهي. ان کان علاوه، اهو ميٽرڪس انڪوڊنگ جي بنياد تي هڪ ايمبيڊنگ ٽيڪنڪ استعمال ڪري ٿو، جيڪا معلومات جي ساڳئي مقدار کي شامل ڪرڻ وقت گهٽ تبديليون ڪرڻ ممڪن بڻائي ٿي، استعمال ٿيل ڪنٽينر جي وڏي سائيز.

تبديليون پاڻ کي ڪجهه شرطن جي تحت هڪ جي ڀيٽ ۾ ڳڻپيوڪر جي مطلق قدر کي گهٽائڻ لاءِ هيٺ لهن ٿيون (جيڪو هميشه ناهي)، جيڪو توهان کي F5 استعمال ڪرڻ جي اجازت ڏئي ٿو توهان جي هارڊ ڊرائيو تي ڊيٽا اسٽوريج کي بهتر ڪرڻ لاءِ. نقطو اهو آهي ته اهڙي تبديلي کان پوءِ ڪوفيشيٽ گهڻو ڪري JPEG ۾ قدرن جي شمارياتي ورڇ جي ڪري Huffman انڪوڊنگ کان پوءِ گهٽ بِٽس تي قبضو ڪندو، ۽ RLE استعمال ڪندي انهن کي انڪوڊنگ ڪرڻ وقت نوان زيرو فائدو ڏيندو.

رازداري (پاسورڊ ري آرنجمينٽ) جي ذميوار حصي کي ختم ڪرڻ لاءِ ضروري تبديليون، جيڪي وسيلن ۽ عمل جي وقت کي بچائي ٿو، ۽ هڪ وقت ۾ هڪ جي بدران ڪيترن ئي فائلن سان ڪم ڪرڻ لاءِ ميکانيزم شامل ڪري ٿو. پڙهندڙ ممڪن ناهي ته تبديلي جي عمل ۾ وڌيڪ تفصيل سان دلچسپي وٺن، تنهنڪري اچو ته عمل درآمد جي وضاحت ڏانهن وڃو.

هاء ٽيڪو

اهو ظاهر ڪرڻ لاءِ ته هي طريقو ڪيئن ڪم ڪري ٿو، مون طريقي کي خالص سي ۾ لاڳو ڪيو ۽ عمل جي رفتار ۽ ياداشت جي لحاظ کان ٻنهي ۾ ڪيتريون ئي اصلاحون ڪيون (توهان تصور نه ٿا ڪري سگهو ته اهي تصويرون ڪيترو وزن بغير ڪنهن ڪمپريشن جي، جيتوڻيڪ ڊي سي ٽي کان اڳ). ڪراس پليٽ فارم لائبريرين جي ميلاپ کي استعمال ڪندي حاصل ڪيو لِجيپگ, پيپر и ننڍڙوجنهن لاءِ اسان انهن جا شڪر گذار آهيون. اهو سڀ ڪجهه گڏ ڪيو ويو آهي 'make' ذريعي، تنهنڪري ونڊوز استعمال ڪندڙ پنهنجي لاءِ ڪجهه Cygwin انسٽال ڪرڻ چاهين ٿا تشخيص لاءِ، يا پنهنجو پاڻ تي Visual Studio ۽ لائبريرين سان ڊيل ڪن.

عملدرآمد هڪ ڪنسول افاديت ۽ لائبريري جي صورت ۾ موجود آهي. جيڪي دلچسپي وٺن ٿا انهن کي استعمال ڪرڻ جي باري ۾ وڌيڪ ڳولهي سگهو ٿا ريڊمي ۾ Github تي مخزن ۾، جنهن جو لنڪ آئون پوسٽ جي آخر ۾ ڳنڍيندس.

ڪئين استعمال ڪجي

هوشياري سان. پيڪنگنگ لاءِ استعمال ٿيل تصويرون ڏنل روٽ ڊاريڪٽري ۾ ريگيولر ايڪسپريس استعمال ڪندي ڳولها چونڊيا ويا آهن. مڪمل ٿيڻ تي، فائلون منتقل ڪري سگھجن ٿيون، تبديل ڪري سگھجن ٿيون ۽ نقل ڪري سگھجن ٿيون ان جي حدن اندر، فائل تبديل ڪريو ۽ آپريٽنگ سسٽم وغيره. تنهن هوندي به، توهان کي تمام گهڻو محتاط رهڻ گهرجي ۽ فوري مواد کي ڪنهن به طريقي سان تبديل نه ڪرڻ گهرجي. هڪ ساٽ جي قيمت کي وڃائڻ سان معلومات کي بحال ڪرڻ ناممڪن بڻائي سگھي ٿو.

مڪمل ٿيڻ تي، يوٽيلٽي هڪ خاص آرڪائيو فائل ڇڏيندي آهي جنهن ۾ پيڪنگ ڪرڻ لاءِ ضروري سموري معلومات شامل هوندي آهي، جنهن ۾ استعمال ٿيل تصويرن بابت ڊيٽا شامل هوندي آهي. پنهنجو پاڻ ۾، اهو اٽڪل ٻه ڪلو بائيٽ وزن آهي ۽ قبضي واري ڊسڪ جي جاء تي ڪو خاص اثر نه آهي.

توھان '-a' جھنڊو استعمال ڪندي ممڪن صلاحيت جو تجزيو ڪري سگھو ٿا: './f5ar -a [سرچ فولڊر] [Perl-compatible regular expression]'. پيڪنگ ڪمانڊ سان ڪيو ويندو آهي './f5ar -p [سرچ فولڊر] [پرل-مطابقت رکندڙ ريگولر ايڪسپريشن] [پيڪ ٿيل فائل] [آرڪائيو جو نالو]'، ۽ './f5ar -u [آرڪائيو فائل] [ٻيهر ٿيل فائل جو نالو] سان پيڪنگ. ]'.

ڪم جو مظاهرو

طريقي جي اثرائتي ڏيکارڻ لاء، مون ڪتن جي 225 بلڪل مفت فوٽوز جو هڪ مجموعو اپ لوڊ ڪيو سروس مان ناپسند ۽ ٻئي جلد جي 45 ميٽرن جي هڪ وڏي پي ڊي ايف دستاويزن ۾ ملي ٿي پروگرامنگ جو فن نڪتا.

سلسلو بلڪل سادو آهي:

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

شائقين لاءِ اسڪرين شاٽ

هارڊ ڊسڪ جي جاء بچائڻ لاء هڪ عجيب طريقو بابت

unpacked فائل ٿي سگهي ٿو ۽ اڃا به پڙهڻ گهرجي:

هارڊ ڊسڪ جي جاء بچائڻ لاء هڪ عجيب طريقو بابت

جئين توهان ڏسي سگهو ٿا، هارڊ ڊرائيو تي اصل 633 + 36 == 669 ميگا بائيٽ ڊيٽا مان، اسان وڌيڪ خوشگوار 551 تي آيا آهيون. اهڙي بنيادي فرق جي کوٽائي جي قدرن ۾ گهٽتائي جي وضاحت ڪئي وئي آهي، جيڪو انهن جي ڪارڪردگي کي متاثر ڪري ٿو. بعد ۾ نقصان جي بغير ڪمپريشن: صرف هڪ کي گهٽائڻ سان آساني سان "فائنل فائل مان ٻه بائيٽ کٽي سگھن ٿا. بهرحال، اهو اڃا تائين هڪ ڊيٽا نقصان آهي، جيتوڻيڪ هڪ تمام ننڍڙو آهي، جيڪو توهان سان گڏ ڪرڻو پوندو.

خوشقسمتيء سان، اهي بلڪل نظر کان پوشیدہ آهن. خراب ڪندڙ جي تحت (ڇاڪاڻ ته habrastorage وڏي فائلن کي هٿي نه ٿو ڏئي سگهي)، پڙهندڙ فرق کي نظر ۽ انهن جي شدت ٻنهي جو اندازو لڳائي سگهي ٿو، اصل مان تبديل ٿيل جزو جي قيمتن کي ختم ڪندي حاصل ڪيو ويو آهي: اصل آهي, اندر جي معلومات سان, فرق (جيترو اونڌو رنگ، اوترو ننڍڙو فرق بلاڪ ۾).

سوچيم ته هڪ ٿڪل جي

انهن سڀني مشڪلاتن تي غور ڪندي، هارڊ ڊرائيو خريد ڪرڻ يا ڪلائوڊ تي هر شي کي اپلوڊ ڪرڻ شايد مسئلي جو تمام آسان حل وانگر لڳي. پر جيتوڻيڪ اسين هاڻ اهڙي شاندار وقت ۾ رهون ٿا، ان ڳالهه جي ڪا به ضمانت نه آهي ته سڀاڻي اهو اڃا به ممڪن ٿيندو ته توهان آن لائين وڃو ۽ توهان جي سڀني اضافي ڊيٽا کي ڪٿي ڪٿي اپ لوڊ ڪريو. يا دڪان تي وڃو ۽ پاڻ کي ٻي هزار ٽيرابائيٽ هارڊ ڊرائيو خريد ڪريو. پر توهان هميشه موجود گهرن کي استعمال ڪري سگهو ٿا.

-> GitHub

جو ذريعو: www.habr.com

تبصرو شامل ڪريو