2009-10-08 6 views
6

मैं रोलिंग चेकसम और ब्लॉक करने के लिए कैसे को समझने के लिए सम्मान के साथ काम करता है the rsync algorithm एक कंपित फैशन में है कि मैच कोशिश कर रहा हूँ।रोलिंग चेकसम

विकिपीडिया पृष्ठ जो बताते हैं कि प्रेषक और प्राप्तकर्ता दोनों की गणना करने और सभी संभव ब्लॉकों के लिए विदेशी मुद्रा रोलिंग चेकसम लगता है। लेकिन इसका मतलब यह होगा कि प्रति बाइट अनिवार्य रूप से एक चेकसम भेजना होगा! मेरा कुछ छूट रहा है। ब्लॉक को संरेखित करने में सक्षम होने के लिए यह कैसे काम करता है?

उदा एस = 16 बाइट ब्लॉक, और इस फ़ाइल एक के लिए इस पाठ है यदि:

जल्दी भूरी लोमड़ी आलसी कुत्ते

और रिसीवर पर कूदता है फ़ाइल बी के लिए इस पाठ है:

जल्दी भूरी लोमड़ी आलसी कुत्ते

कैसे होगा एक rsyn लांघ सी एक्सचेंज काम?

उत्तर

14

रिसीवर की गणना करता है और केवल गैर अतिव्यापी ब्लॉकों के लिए रोलिंग चेकसम भेजता है। प्रेषक इसके विपरीत प्रत्येक संभव ब्लॉक (लेकिन परिणाम स्थानीय को रखें) के लिए गणना करता है। फिर प्रेषक के लिए, यह जांचने की बात है कि क्या गैर ओवरलैपिंग ब्लॉक (रिसीवर द्वारा भेजा गया) में से एक (ओवरलैपिंग) स्थानीय ब्लॉक के साथ मेल खाता है।

आपका उदाहरण कुछ भी दिलचस्प देखने के लिए बहुत आसान है, दो अंतिम ब्लॉक बस मेल नहीं खाएंगे और विलय के लिए भेजे जाएंगे।

एक और अधिक दिलचस्प उदाहरण के साथ

(अपरकेस एक ब्लॉक है):

इस:

A B Cabc D 

रिसीवर:

A B C D 

रिसीवर एक के लिए MD5 और रोलिंग हैश भेज देंगे, बी, सी और डी प्रेषक प्रत्येक (ओवरलैपिंग) ब्लॉक के लिए रोलिंग हैश की गणना करेगा, यह मेल खाएगा ए के लिए, बी के लिए, सी और डी के लिए। abc मेल नहीं खाता है, यह जानकारी को उस स्थान के साथ भेज देगा जहां इसे विलय करना है।

+0

ओह, मुझे रिसीवर के बारे में सब कुछ गलत चेकआउट नहीं करना होगा। धन्यवाद। –

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^