विविध अनुप्रयोगांसाठी सार्वत्रिक अद्वितीय ओळखपत्र (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 UUIDs तयार करण्यावर लक्ष केंद्रित करते.
आवृत्ती 1 UUIDs खालील घटकांचा वापर करून तयार केले जातात:
आवृत्ती 1 UUID तयार करण्याचे सूत्र असे व्यक्त केले जाऊ शकते:
1UUID = (timestamp * 2^64) + (clock_sequence * 2^48) + node
2
आवृत्ती 4 UUIDs क्रिप्टोग्राफिकदृष्ट्या मजबूत यादृच्छिक संख्या जनरेटर वापरून तयार केले जातात. सूत्र फक्त:
1UUID = random_128_bit_number
2
विशिष्ट बिट्स आवृत्ती (4) आणि प्रकार दर्शविण्यासाठी सेट केले जातात.
UUIDs संगणक विज्ञान आणि सॉफ्टवेअर अभियांत्रणाच्या विविध क्षेत्रांमध्ये अनेक अनुप्रयोग आहेत:
डेटाबेस की: UUIDs सहसा डेटाबेसमध्ये प्राथमिक की म्हणून वापरले जातात, विशेषत: वितरित प्रणालींमध्ये जिथे अनेक नोड एकाच वेळी रेकॉर्ड तयार करू शकतात.
वितरित प्रणाली: मोठ्या प्रमाणावर वितरित प्रणालींमध्ये, UUIDs संसाधन, व्यवहार किंवा इव्हेंट्सची अद्वितीय ओळख करण्यात मदत करतात.
सामग्री पत्ता: UUIDs सामग्रीमध्ये अद्वितीय ओळखपत्रे तयार करण्यासाठी वापरले जाऊ शकतात.
सत्र व्यवस्थापन: वेब अनुप्रयोग बहुधा UUIDs वापरतात जेणेकरून प्रत्येक सत्राला अद्वितीय ओळखपत्र मिळेल.
IoT डिव्हाइस ओळख: इंटरनेट ऑफ थिंग्ज (IoT) अनुप्रयोगांमध्ये, UUIDs नेटवर्कमधील व्यक्तीगत डिव्हाइसची अद्वितीय ओळख करण्यासाठी वापरले जाऊ शकतात.
जरी UUIDs व्यापकपणे वापरल्या जातात, तरी अद्वितीय ओळखपत्रे तयार करण्यासाठी पर्यायी दृष्टिकोन आहेत:
ऑटो-इन्क्रिमेंटिंग आयडी: एक साधा आणि एकल डेटाबेस प्रणालींमध्ये सामान्यतः वापरला जातो, परंतु वितरित वातावरणासाठी योग्य नाही.
टाइमस्टॅम्प-आधारित आयडी: वेळेच्या क्रमाने डेटा साठी उपयुक्त असू शकतात, परंतु उच्च-समांतर परिस्थितींमध्ये टकरावाच्या समस्यांना सामोरे जावे लागते.
स्नोफ्लेक आयडी: ट्विटरद्वारे विकसित, हे आयडी टाइमस्टॅम्प आणि कार्यकर्ता क्रमांक एकत्र करून वितरित प्रणालींमध्ये अद्वितीय आयडी तयार करतात.
ULID (सार्वभौम अद्वितीय लेक्सिकोग्राफिकली क्रमबद्ध ओळखपत्र): UUIDs पेक्षा अधिक मानव-मैत्रीपूर्ण आणि क्रमबद्ध असण्याचा उद्देश असलेला एक अलीकडील पर्याय.
UUIDs चा संकल्पना प्रथम अपोलो नेटवर्क संगणक प्रणालीमध्ये सादर करण्यात आली आणि नंतर 1990 च्या दशकात ओपन सॉफ्टवेअर फाउंडेशन (OSF) द्वारे मानकीकरण करण्यात आली. प्रारंभिक विशिष्टता 1997 मध्ये ISO/IEC 11578:1996 म्हणून प्रकाशित झाली आणि 2005 मध्ये ISO/IEC 9834-8:2005 चा भाग म्हणून पुनरावलोकन करण्यात आली.
UUID इतिहासातील मुख्य घटनाक्रम:
काळानुसार, UUIDs वितरित प्रणालींमध्ये आणि डेटाबेस डिझाइनमध्ये एक आवश्यक साधन बनले आहेत, विविध प्रोग्रामिंग भाषांमध्ये आणि प्लॅटफॉर्मवर विविध कार्यान्वयन आणि अनुकूलनांसह.
येथे विविध प्रोग्रामिंग भाषांमध्ये UUIDs तयार करण्याचे उदाहरणे आहेत:
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
आपल्या कामच्या प्रक्रियेसाठी उपयुक्त असणारे अधिक उपकरण शोधा.