विभिन्न अनुप्रयोगों के लिए यूनिवर्सली यूनिक आइडेंटिफायर (UUID) उत्पन्न करें। वितरित प्रणालियों, डेटाबेस और अधिक में उपयोग के लिए संस्करण 1 (समय-आधारित) और संस्करण 4 (यादृच्छिक) UUID दोनों बनाएं।
एक यूनिवर्सली यूनिक आइडेंटिफायर (UUID) एक 128-बिट संख्या है जिसका उपयोग कंप्यूटर सिस्टम में जानकारी की पहचान के लिए किया जाता है। UUIDs को ओपन सॉफ्टवेयर फाउंडेशन (OSF) द्वारा वितरित कंप्यूटिंग वातावरण (DCE) के भाग के रूप में मानकीकृत किया गया है। ये पहचानकर्ता अंतरिक्ष और समय दोनों में अद्वितीय होने के लिए डिज़ाइन किए गए हैं, जिससे ये वितरित सिस्टम और उससे आगे के विभिन्न अनुप्रयोगों के लिए आदर्श बनते हैं।
यह UUID जनरेटर उपकरण आपको संस्करण 1 (समय-आधारित) और संस्करण 4 (यादृच्छिक) UUID बनाने की अनुमति देता है। ये पहचानकर्ता विभिन्न परिदृश्यों में अद्वितीय पहचान की आवश्यकता के लिए उपयोगी होते हैं, जैसे डेटाबेस कुंजी, वितरित सिस्टम, और नेटवर्क प्रोटोकॉल।
एक UUID आमतौर पर 32 हेक्साडेसिमल अंकों के रूप में दर्शाया जाता है, जो हाइफ़न द्वारा अलग किए गए पांच समूहों में प्रदर्शित होता है, 8-4-4-4-12 के रूप में कुल 36 वर्ण (32 अल्फ़ान्यूमेरिक वर्ण और 4 हाइफ़न) होते हैं। उदाहरण के लिए:
1550e8400-e29b-41d4-a716-446655440000
2
UUID के 128 बिट्स को विशिष्ट फ़ील्ड में विभाजित किया गया है, प्रत्येक UUID संस्करण के आधार पर विभिन्न जानकारी ले जाते हैं:
यहां UUID संरचना का एक चित्रण है:
UUIDs के कई संस्करण हैं, प्रत्येक के अपने निर्माण विधि है:
यह उपकरण संस्करण 1 और संस्करण 4 UUID उत्पन्न करने पर केंद्रित है।
संस्करण 1 UUID निम्नलिखित घटकों का उपयोग करके उत्पन्न किए जाते हैं:
संस्करण 1 UUID उत्पन्न करने का सूत्र इस प्रकार व्यक्त किया जा सकता है:
1UUID = (timestamp * 2^64) + (clock_sequence * 2^48) + node
2
संस्करण 4 UUID एक क्रिप्टोग्राफिकली मजबूत यादृच्छिक संख्या जनरेटर का उपयोग करके उत्पन्न किए जाते हैं। सूत्र बस है:
1UUID = random_128_bit_number
2
विशिष्ट बिट्स को संस्करण (4) और विविधता को इंगित करने के लिए सेट किया गया है।
UUIDs के कंप्यूटर विज्ञान और सॉफ्टवेयर इंजीनियरिंग के विभिन्न क्षेत्रों में कई अनुप्रयोग हैं:
डेटाबेस कुंजी: UUIDs अक्सर डेटाबेस में प्राथमिक कुंजी के रूप में उपयोग किए जाते हैं, विशेषकर वितरित सिस्टम में जहां कई नोड्स एक साथ रिकॉर्ड उत्पन्न कर सकते हैं।
वितरित सिस्टम: बड़े पैमाने पर वितरित सिस्टम में, UUIDs संसाधनों, लेनदेन, या घटनाओं की अद्वितीय पहचान में मदद करते हैं।
सामग्री पता लगाने: UUIDs का उपयोग सामग्री के लिए अद्वितीय पहचानकर्ता बनाने के लिए किया जा सकता है जो सामग्री-पता लगाने वाले भंडारण सिस्टम में हैं।
सत्र प्रबंधन: वेब अनुप्रयोग अक्सर उपयोगकर्ता सत्रों को प्रबंधित करने के लिए UUIDs का उपयोग करते हैं, यह सुनिश्चित करते हुए कि प्रत्येक सत्र के पास एक अद्वितीय पहचानकर्ता है।
IoT डिवाइस पहचान: इंटरनेट ऑफ थिंग्स (IoT) अनुप्रयोगों में, UUIDs का उपयोग नेटवर्क में व्यक्तिगत उपकरणों की अद्वितीय पहचान के लिए किया जा सकता है।
हालांकि UUIDs का व्यापक रूप से उपयोग किया जाता है, अद्वितीय पहचानकर्ता उत्पन्न करने के लिए वैकल्पिक दृष्टिकोण हैं:
ऑटो-इंक्रीमेंटिंग IDs: सरल और एकल-डेटाबेस सिस्टम में सामान्यतः उपयोग किया जाता है, लेकिन वितरित वातावरण के लिए उपयुक्त नहीं है।
समय-आधारित IDs: समय-क्रमबद्ध डेटा के लिए उपयोगी हो सकते हैं लेकिन उच्च-समवर्ती परिदृश्यों में टकराव की समस्याओं का सामना कर सकते हैं।
स्नोफ्लेक IDs: ट्विटर द्वारा विकसित, ये IDs टाइमस्टैम्प और कार्यकर्ता संख्या को मिलाकर वितरित सिस्टम में अद्वितीय IDs उत्पन्न करते हैं।
ULID (यूनिवर्सली यूनिक लेक्सिकोग्राफिकली सॉर्टेबल आइडेंटिफायर): एक अधिक हालिया विकल्प जो UUIDs की तुलना में अधिक मानव-मैत्रीपूर्ण और सॉर्टेबल होने का लक्ष्य रखता है।
UUIDs का विचार पहली बार अपोलो नेटवर्क कंप्यूटिंग सिस्टम में पेश किया गया था और बाद में 1990 के दशक में ओपन सॉफ्टवेयर फाउंडेशन (OSF) द्वारा मानकीकृत किया गया। प्रारंभिक विशिष्टता 1997 में ISO/IEC 11578:1996 के रूप में प्रकाशित की गई थी और बाद में 2005 में ISO/IEC 9834-8:2005 के भाग के रूप में संशोधित की गई थी।
UUID इतिहास में प्रमुख मील के पत्थर:
समय के साथ, UUIDs वितरित सिस्टम और डेटाबेस डिज़ाइन में एक आवश्यक उपकरण बन गए हैं, विभिन्न प्रोग्रामिंग भाषाओं और प्लेटफार्मों में विभिन्न कार्यान्वयन और अनुकूलन के साथ।
यहां विभिन्न प्रोग्रामिंग भाषाओं में UUID उत्पन्न करने के उदाहरण दिए गए हैं:
1import uuid
2
3## एक संस्करण 4 (यादृच्छिक) UUID उत्पन्न करें
4random_uuid = uuid.uuid4()
5print(f"संस्करण 4 UUID: {random_uuid}")
6
7## एक संस्करण 1 (समय-आधारित) UUID उत्पन्न करें
8time_based_uuid = uuid.uuid1()
9print(f"संस्करण 1 UUID: {time_based_uuid}")
10
1const { v1: uuidv1, v4: uuidv4 } = require('uuid');
2
3// एक संस्करण 4 (यादृच्छिक) UUID उत्पन्न करें
4const randomUuid = uuidv4();
5console.log(`संस्करण 4 UUID: ${randomUuid}`);
6
7// एक संस्करण 1 (समय-आधारित) UUID उत्पन्न करें
8const timeBasedUuid = uuidv1();
9console.log(`संस्करण 1 UUID: ${timeBasedUuid}`);
10
1import java.util.UUID;
2
3public class UuidGenerator {
4 public static void main(String[] args) {
5 // एक संस्करण 4 (यादृच्छिक) UUID उत्पन्न करें
6 UUID randomUuid = UUID.randomUUID();
7 System.out.println("संस्करण 4 UUID: " + randomUuid);
8
9 // एक संस्करण 1 (समय-आधारित) UUID उत्पन्न करें
10 UUID timeBasedUuid = UUID.fromString(new com.eaio.uuid.UUID().toString());
11 System.out.println("संस्करण 1 UUID: " + timeBasedUuid);
12 }
13}
14
1require 'securerandom'
2
3## एक संस्करण 4 (यादृच्छिक) UUID उत्पन्न करें
4random_uuid = SecureRandom.uuid
5puts "संस्करण 4 UUID: #{random_uuid}"
6
7## रूबी में संस्करण 1 UUIDs के लिए कोई अंतर्निहित विधि नहीं है
8## इसके लिए 'uuidtools' जैसे जेम का उपयोग करना होगा
9
1<?php
2// एक संस्करण 4 (यादृच्छिक) UUID उत्पन्न करें
3$randomUuid = sprintf('%04x%04x-%04x-%04x-%04x-%04x%04x%04x',
4 mt_rand(0, 0xffff), mt_rand(0, 0xffff),
5 mt_rand(0, 0xffff),
6 mt_rand(0, 0x0fff) | 0x4000,
7 mt_rand(0, 0x3fff) | 0x8000,
8 mt_rand(0, 0xffff), mt_rand(0, 0xffff), mt_rand(0, 0xffff)
9);
10echo "संस्करण 4 UUID: " . $randomUuid . "\n";
11
12// PHP में संस्करण 1 UUIDs के लिए कोई अंतर्निहित विधि नहीं है
13// इसके लिए 'ramsey/uuid' जैसी लाइब्रेरी का उपयोग करना होगा
14?>
15
अपने वर्कफ़्लो के लिए उपयोगी हो सकने वाले और अधिक उपकरण खोजें।