কীভাবে সম্ভব যে উইনআরআর একটি .rev ফাইল দিয়ে কোনও ভলিউম মেরামত করতে পারে?


31

আমি .revউইনআরআর-এর সাথে ফাইলগুলি সম্পর্কে কেবল শিখেছি - যেখানে আপনার যদি 10-অংশের আরএআর ভলিউম থাকে, উদাহরণস্বরূপ, একাধিক .rev(পুনরুদ্ধার) ভলিউম - .revভলিউম যে কোনও একটি দূষিত .rarভলিউমকে "ফিক্স" করতে সক্ষম হবে ।

এটা কিভাবে সম্ভব? আমি বুঝতে পারি না যে পৃথকভাবে ভাঙা ভলিউমের কোনও / সমস্ত ঠিক করার জন্য একটি ভলিউমে সমস্ত ডেটা থাকতে পারে।

আমি অনুমান করতে পারি যে এটি সম্ভবত "রৈখিকভাবে" ভলিউম না ভাঙ্গার পরিবর্তে সম্ভব, যেমন আমি কল্পনা করছি, যেখানে প্রতিটি আরএআর ভলিউম পৃথক পৃথক ফাইলের মধ্যে রয়েছে; তবে পরিবর্তে, সম্ভবত .revযখন আরএআর ভলিউমগুলি বিট এবং বাইটগুলির একটানা ফাইল হিসাবে দেখা হয় , তখন সম্ভবত মেরামত করা সম্ভব হয় এবং এটি সম্ভবত দূষিত বাইটগুলি সংশোধন করার জন্য কিছু সিআরসি'শ যাদুবিদ্যা (আহ হেম, "মেরামতের কাজ") জড়িত।

তবে আমি ঠিক বুঝতে পারি না যে আপনার কীভাবে 1 টি ক্ষতিগ্রস্ত 9 টি কাজের ভলিউম থাকতে পারে, তবুও পুনরুদ্ধারের পরিমাণ রয়েছে যা কোনও কোনও ভলিউম মেরামত করতে পারে । কীভাবে একটি ভলিউম "সমস্ত" খণ্ডগুলির ডেটা ধরে রাখতে সক্ষম?


3
সংশোধন কোডগুলি মুছে দিন। En.wikedia.org/wiki/Parkive
ড্যান ডি

উত্তর:


55

সত্যিই একটি সহজ কেস নিতে দিন।

আপনার চারটি খণ্ড এবং একটি পুনরুদ্ধার ভলিউম রয়েছে, প্রতিটি এতে 1 বিট তথ্য রয়েছে:

         ========================================================
Volumes: = Volume 1 = Volume 2 = Volume 3 = Volume 4 = Recovery =
         =----------=----------=----------=----------=----------=
   Bits: =    1     =    0     =    1     =    1     =     1    =
         ========================================================

পুনরুদ্ধারের ভলিউমে এই বিটগুলির প্রতিটি এক্সওআর ডি এর একসাথে ফলাফল থাকবে:

1 XOR 0 XOR 1 XOR 1 = 1

সুতরাং, আমাদের পুনরুদ্ধারের পরিমাণে একক বিট রয়েছে 1


এখন, বলুন ভলিউম 1 ব্যর্থ হয়।

যদি আমরা ব্যর্থ ভলিউমের জায়গায় পুনরুদ্ধার বিট সহ বাকি খণ্ড 2, 3 এবং 4 টি XOR করি:

1 XOR 0 XOR 1 XOR 1 = 1
^

সুতরাং, এটি আমাদের জানায় যে ভলিউম 1 রয়েছে 1, যেহেতু এটি সমীকরণের ফলাফল।

আসুন আমরা ভলিউম 2 এর পরিবর্তে মারা যাওয়ার ভান করি, সুতরাং আমরা পুনরুদ্ধারের বিটের সাথে সমীকরণের মানটির প্রতিস্থাপন করি:

1 XOR 1 XOR 1 XOR 1 = 0
      ^

সুতরাং আমরা জানি যে 2 ভলিউম রয়েছে 0, কারণ এটি সমীকরণের ফলাফল।

যদি ভলিউম 3 বা 4 ব্যর্থ হয় তবে তারা উভয়ই 1এই সমীকরণে উত্পন্ন করবে ।


সুতরাং, যদি কোনও ভলিউম ব্যর্থ হয়, পুনরুদ্ধারের ভলিউমটি অবশিষ্ট খণ্ডগুলির উপর ভিত্তি করে ডেটা পুনর্গঠন করতে ব্যবহার করা যেতে পারে। এটি আপনার হতে পারে সম্ভবত ত্রুটি সংশোধনের সহজতম রূপ। যদি দুটি খণ্ড ব্যর্থ হয়, আপনি কিছুই পুনরুদ্ধার করতে পারবেন না।


4
পরিষ্কার হতে হবে, এমন স্কীম রয়েছে যা আপনাকে একাধিক ভলিউম ব্যর্থতা থেকে পুনরুদ্ধার করতে দেয়।
ডায়েটারিচ এপ্প

এটি কেবল তখনই কাজ করে যদি আপনি জানেন যে কোন ডিভাইসটি ব্যর্থ হয়েছে, তাই না?
heinrich5991

1
@ হেনরিচ ৫৯৯১ আপনি ভলিউমের অভ্যন্তরীণ সিআরসি দ্বারা জানেন
রাচেট ফ্রিক

21

এটি কীভাবে হতে পারে তা বোঝার সত্যিই সহজ উপায়ের জন্য, পুনরুদ্ধারের ভলিউমে অন্য খণ্ডগুলির যোগফল রয়েছে কিনা তা কল্পনা করুন। সংখ্যার একটি তালিকা, এর মধ্যে একটি অনুপস্থিত এবং তাদের যোগফলের সাহায্যে আপনি সর্বদা অনুপস্থিত নম্বরটি পুনর্গঠন করতে পারেন।

উদাহরণস্বরূপ, এই দুটি অঙ্কের সংখ্যাটি বিবেচনা করুন, ১৩, ৮৮, ১,, ৪৩. আপনি যদি জানতেন যে এখানে একটি অনুপস্থিত সংখ্যা ছিল এবং সমস্ত সংখ্যার যোগফলের শেষ দুটি সংখ্যা 81 ছিল, আপনি অনুপস্থিত নম্বরটি পেতে পারেন could 13 + 88 + 17 + 43 = 161. 81 এ শেষ হওয়া সংখ্যাটি তৈরি করতে আপনি কেবলমাত্র দুটি-সংখ্যার সংখ্যাটি যোগ করতে পারেন 20।

বলুন যে আপনার কাছে 20 টি ছিল এবং 43 টি অনুপস্থিত ছিল + 13 + 88 + 17 + 20 = 138 81 81 এ শেষ হওয়া সংখ্যাটি তৈরি করতে আপনি কেবলমাত্র দুটি অঙ্কের সংখ্যায় যোগ করতে পারেন 43 43

এইভাবে পুনরুদ্ধার নম্বর আপনাকে যে কোনও একটি অনুপস্থিত নম্বর সন্ধান করতে দেয়।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.