2012-12-28 82 views
8

संभव डुप्लिकेट:Guid विशिष्टता पर अलग मशीन

GUIDs अलग द्वारा उत्पन्न:
Is a GUID unique 100% of the time?

Guid पर सभी पोस्ट पढ़ने के बाद, फिर भी मैं एक साधारण बात के बारे में स्पष्ट नहीं कर रहा हूँ मशीनें भी अपनी विशिष्टता बनाए रखती हैं या नहीं।

मैं एक मशीन पर GUID विशिष्टता के बारे में पढ़ा है, लेकिन मैं अभी भी विभिन्न मशीनों

+0

यह बताता है कि दो सिस्टम कैसे प्रबंधित करते हैं कि इसे एक अलग गाइड बनाना है .. गाइड जनरेटर कैसे काम करता है ?? यह हर समय अद्वितीय मार्गदर्शिका कैसे बनाता है ?? –

+0

वे यादृच्छिक हैं। इतने सारे यादृच्छिक संयोजन हैं कि हम बस "विश्वास" करते हैं कि यह अद्वितीय होगा। आप डुप्ली देखने के लिए पर्याप्त समय तक नहीं जीएंगे - जब तक आप अनुक्रमिक guids का उपयोग नहीं कर रहे हैं :)। –

+2

1 और 100 के बीच यादृच्छिक संख्या लें। इसे फिर से करें। आपको दूसरी बार एक ही नंबर मिलने की बाधाएं 100 में 1 है। अब यादृच्छिक संख्या 1 और 5,316,911,983,139,663,491,615,228,241,121,400,000 के बीच लें। उस नंबर का नाम नहीं है। –

उत्तर

4

GUID "व्यावहारिक रूप से" सार्वभौमिक अद्वितीय है।

एक GUID एक 128-बिट पूर्णांक (16 बाइट्स) है जिसका उपयोग सभी कंप्यूटरों और नेटवर्कों में किया जा सकता है जहां कहीं भी एक अद्वितीय पहचानकर्ता की आवश्यकता होती है। ऐसे पहचानकर्ता को डुप्लीकेट होने की बहुत कम संभावना है।

MSDN

+0

"सार्वभौमिक" का अर्थ है "विभिन्न मशीनें", क्योंकि सभी मशीनें "ब्रह्मांड" –

+0

का हिस्सा हैं। दो सिस्टम कैसे प्रबंधित करते हैं कि इसे एक अलग गाइड बनाना है .. गाइड जनरेटर कैसे काम करता है ?? यह अद्वितीय गाइड बनाता है हर बार?? विकिपीडिया पर –

+0

पढ़ें [ग्रिड जेनरेशन एल्गोरिदम] (http://en.wikipedia.org/wiki/Globally_unique_identifier#Algorithm)। – Tilak

12

यह आम तौर पर स्वीकार किया जाता है कि एक नई यादृच्छिक GUID हमेशा अनूठा होगा साथ विशिष्टता के बारे में पता नहीं है। संभाव्य रूप से यह सच नहीं है, लेकिन एक डुप्ली उत्पन्न करने की संभावना इतनी छोटी है कि हमें इसकी परवाह करने की आवश्यकता नहीं है।

दो समान guids पैदा करने की बाधाओं 5.316.911.983.139.663.491.615.228.241.121.400.000

तो में 1 है अगर आप 1 लाख कंप्यूटरों पर 1 लाख guids उत्पन्न, एक नकली पैदा करने की संभावना हैं: 5.316.911.983.139.663.491.615.228 में 1

1 अरब ले लो 1 बिलियन कंप्यूटर पर ग्रिड, डुप्ली उत्पन्न करने की बाधाएं हैं: 1 में 5,316,911,983,139,663,491 (यह 5.3 क्विंटलियन है)।

संख्याएं खुद के लिए बोलती हैं, आप एक डुप्ली उत्पन्न नहीं कर रहे हैं।

यदि आप सोच रहे हैं कि मुझे इन नंबरों को कहां मिल रहा है, तो GUID का मान भाग 122 बिट है। 2^122, यह 168.486.464.147.580.370.470.736 साल लग संभवतया एक नकली गारंटी करने के लिए होगा 5,3169119831396634916152282411214 x 10^36

कुछ और पागल आंकड़े ...
है आप प्रति सेकंड 1 लाख guids उत्पन्न करते हैं।

@ विगजिटी ने बताया कि कुछ ग्रिड में मैक पते द्वारा 48 बिट्स ले लिए गए हैं, तो संख्याएं अभी भी चौंकाने वाली हैं इसलिए की क्षमता उन बिट्स को खो देती है। प्रति सेकंड 2 मिलियन guids (उसी कंप्यूटर पर) के उपर्युक्त उदाहरण को लेते हुए, यह अभी भी डुप्ली की गारंटी के लिए 598,584,166 वर्ष लेगा। यह 600 मिलियन वर्ष है। पृथ्वी पर जीवन की तुलना में यह लंबा है। या यदि आप यंग अर्थ क्रिएशनिस्ट हैं, तो पृथ्वी की उम्र कम से कम 60 हजार गुना है।

+2

बस चर्चा में जोड़ने के लिए, GUID के बारे में विकिपीडिया प्रविष्टि से उद्धरण: 'कुछ त्रुटिपूर्ण GUID- उत्पन्न करने वाले कार्यान्वयन छद्म यादृच्छिक संख्या जेनरेटर पर भरोसा करते हैं जो यादृच्छिक संख्या बीज स्रोतों का उपयोग करते हैं जो पूर्वानुमानित होने लगते हैं'। तो गणितीय रूप से 2^122 संभावित मान हैं (यादृच्छिक GUID इंगित करने के लिए आरक्षित 6 बिट्स), लेकिन व्यावहारिक अर्थों के लिए इसे आरएनडी फ़ंक्शन द्वारा सीमित किया जा सकता है। – OnoSendai

+1

+1 संभाव्यताओं के साथ अपने दिमाग को उड़ाने के लिए +1 – JOpuckman

+1

पूरी तरह से ऑफ-विषय, एक निर्माता शायद 14 बिट GUIDS का उपयोग करेगा, संभवतः 122 बिट GUID को अस्वीकार कर रहा है, दावा करता है कि यह पृथ्वी की आयु से अधिक संख्या का प्रतिनिधित्व करता है और इस प्रकार यह नहीं है असली। –

2

से मैं कहीं सुनवाई है कि यदि आप IPv4 पता स्थान (32 बिट) कल्पना डाक टिकट, IPv6 (128 बिट) के आकार होने के रूप में हमारे सौर मंडल के आकार है याद है। एक डुप्ली उत्पन्न करना अभी नहीं होने वाला है।

इसके अलावा, यदि कुछ भी आपको दो अलग-अलग मशीनों की तुलना में एक ही मशीन को डुप्लिकेट करने की अधिक संभावना है क्योंकि अधिकांश ग्रिड पीढ़ी एल्गोरिदम आपके कंप्यूटर को GUID (यह 48 बिट्स) के भीतर एनआईसी मैक पता एम्बेड करेगा। यद्यपि ऐसे एल्गोरिदम हैं जो मैक पते को एम्बेड नहीं करते हैं और केवल पूरी तरह से यादृच्छिक हैं। देखें: http://guid.us/

संपादित करें: एक और मज़ेदार पैमाने उदाहरण पृथ्वी की मात्रा लगभग 10^27 घन सेंटीमीटर है। जिसका अर्थ है कि पृथ्वी के पूरे वॉल्यूम के लिए प्रत्येक घन सेंटीमीटर में 340,000,000,000 गाइड स्वयं ही हो सकते हैं। यह संख्या दिमाग में बड़ी है।

वैकल्पिक रूप से, पृथ्वी की सतह के प्रत्येक वर्ग नैनोमीटर में लगभग 650,000 गाइड स्वयं ही हो सकते हैं।

+0

> अधिकांश ग्रिड पीढ़ी एल्गोरिदम आपके कंप्यूटर को GUID के भीतर एनआईसी मैक पता एम्बेड करेंगे (यह 48 बिट्स) वाह, यह मूर्खतापूर्ण है। उस के लिए 48 बिट्स निकाल रहे हैं? क्या ऐसा करने का कोई कारण है? – vbullinger

+0

http://guid.us/Test/GUID दिखाता है कि सीसीसीसीसीसीसीसी-सीसीसीसी-सीसीसीसी-सीसीसीसी-सीसीसीसीसीसीसीसीसीसीसीसी एक वैध guid –

+3

@ vbullinger हाँ है, एक कारण है, ऐसा इसलिए है कि GUID का शेष भाग समान है (यह एक टाइमस्टैम्प का उपयोग करता था, इसलिए विचार यह है कि दो मशीनें एक ही समय में एक GUID बनाने का प्रयास कर सकती हैं) टकरा नहीं जाएंगी। हालांकि इस तरह के GUID अभ्यास से बाहर हो गए हैं; इन दिनों GUID को देखने के लिए यह बहुत आम है जो पूरी तरह से एक बड़ी यादृच्छिक संख्या पर आधारित हैं। – Servy