பல பயன்பாடுகளுக்கான யூனிவர்சல் யூனிக் அடையாளங்களை (UUID) உருவாக்கவும். விநியோகிக்கப்பட்ட அமைப்புகள், தரவுத்தளங்கள் மற்றும் மேலும் பயன்படுத்துவதற்கான 1வது பதிப்பு (கால அடிப்படையிலான) மற்றும் 4வது பதிப்பு (சீரற்ற) UUID களை உருவாக்கவும்.
ஒரு உலகளாவிய தனித்தன்மை அடையாளம் (UUID) என்பது கணினி அமைப்புகளில் தகவல்களை அடையாளம் காண பயன்படுத்தப்படும் 128-பிட் எண் ஆகும். UUIDகள் திறந்த மென்பொருள் அடிப்படையால் (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 அமைப்பை விளக்குவதற்கான ஒரு வரைபடம்:
UUIDகளின் பல பதிப்புகள் உள்ளன, ஒவ்வொன்றிற்கும் தனித்தன்மை உருவாக்கும் முறை உள்ளது:
இந்த கருவி பதிப்பு 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) மற்றும் மாறுபாட்டைப் குறிக்க அமைக்கப்பட்டுள்ளன.
UUIDகளின் பல்வேறு கணினி அறிவியல் மற்றும் மென்பொருள் பொறியியலின் பகுதிகளில் பல்வேறு பயன்பாடுகள் உள்ளன:
தரவுத்தளம் விசைகள்: UUIDகள் பொதுவாக தரவுத்தளங்களில் முதன்மை விசைகளாக பயன்படுத்தப்படுகின்றன, குறிப்பாக பல்வேறு நோட்கள் ஒரே நேரத்தில் பதிவுகள் உருவாக்கும் போது.
பகிர்ந்தளிக்கப்பட்ட அமைப்புகள்: பெரிய அளவிலான பகிர்ந்தளிக்கப்பட்ட அமைப்புகளில், UUIDகள் பல்வேறு நோட்கள் அல்லது தரவுத்தள மையங்களில் வளங்கள், பரிவர்த்தனைகள் அல்லது நிகழ்வுகளை தனித்தன்மை அடையாளம் காண உதவுகின்றன.
உள்ளடக்கம் முகவரித்தல்: UUIDகள் உள்ளடக்கத்தை உள்ளடக்க முகவரியிடும் சேமிப்பு அமைப்புகளில் தனித்தன்மை அடையாளங்கள் உருவாக்க பயன்படுத்தப்படலாம்.
அமர்வு மேலாண்மை: வலை பயன்பாடுகள் பொதுவாக UUIDகளை பயனர் அமர்வுகளை நிர்வகிக்க பயன்படுத்துகின்றன, ஒவ்வொரு அமர்வுக்கும் தனித்தன்மை அடையாளம் உள்ளது.
IoT சாதனம் அடையாளம்: இணையதள பொருட்கள் (IoT) பயன்பாடுகளில், UUIDகள் ஒரு நெட்வொர்க்கில் தனித்தன்மை கொண்ட சாதனங்களை அடையாளம் காண பயன்படுத்தப்படலாம்.
UUIDகள் பரவலாக பயன்படுத்தப்படுகின்றன, இருப்பினும் தனித்தன்மை அடையாளங்களை உருவாக்குவதற்கான மாற்று அணுகுமுறைகள் உள்ளன:
தானாக அதிகரிக்கும் IDகள்: சிம்பிள் மற்றும் தனித்தரவுத்தள அமைப்புகளில் பொதுவாக பயன்படுத்தப்படும், ஆனால் பகிர்ந்தளிக்கப்பட்ட சூழ்நிலைகளுக்கு ஏற்றதாக இல்லை.
நேர அடிப்படையிலான IDகள்: நேரத்திற்கேற்ப தரவுகளுக்கு பயனுள்ளதாக இருக்கலாம் ஆனால் அதிக-சேவை சூழ்நிலைகளில் மோதல் பிரச்சினைகளை சந்திக்கலாம்.
ஸ்னோஃப்ளேக் IDகள்: ட்விட்டரால் உருவாக்கப்பட்ட, இந்த IDகள் நேரம் மற்றும் தொழிலாளி எண்ணிக்கையை இணைத்து, பகிர்ந்தளிக்கப்பட்ட அமைப்புகளில் தனித்தன்மை IDகளை உருவாக்குகின்றன.
ULID (உலகளாவிய தனித்தன்மை வரிசைப்படுத்தக்கூடிய அடையாளம்): UUIDகளுக்கு மாறாக மனிதருக்கு நட்பு மற்றும் வரிசைப்படுத்தக்கூடியதாக இருப்பதற்கான புதிய மாற்று.
UUIDகளின் கருத்து முதலில் ஆபோலோ நெட்வொர்க் கணினி அமைப்பில் அறிமுகம் செய்யப்பட்டது மற்றும் பின்னர் 1990களில் திறந்த மென்பொருள் அடிப்படையால் (OSF) பகிர்ந்தளிக்கப்பட்ட கணினி சூழல் (DCE) என்ற பகுதியாக நிலைபடுத்தப்பட்டது. ஆரம்பத்தில், 1997 இல் ISO/IEC 11578:1996 என்ற பெயரில் வெளியிடப்பட்டது மற்றும் 2005 இல் ISO/IEC 9834-8:2005 என்ற பகுதியாக மறுசீரமைக்கப்பட்டது.
UUID வரலாற்றில் முக்கியமான நிகழ்வுகள்:
காலப்போக்கில், UUIDகள் பகிர்ந்தளிக்கப்பட்ட அமைப்புகள் மற்றும் தரவுத்தள வடிவமைப்பில் ஒரு முக்கிய கருவியாக மாறியுள்ளன, பல்வேறு செயல்பாடுகள் மற்றும் மாறுபாடுகள் பல்வேறு நிரலாக்க மொழிகள் மற்றும் தளங்களில் உள்ளன.
பல்வேறு நிரலாக்க மொழிகளில் 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## Ruby இல் பதிப்பு 1 UUIDகளுக்கான உள்ளமைவு முறை இல்லை
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 UUIDகளுக்கான உள்ளமைவு முறை இல்லை
13// அதற்காக 'ramsey/uuid' என்ற நூலகத்தைப் பயன்படுத்த வேண்டும்
14?>
15
உங்கள் பணிப்பாக்கிலுக்கு பயனுள்ள மேலும் பயனுள்ள கருவிகளைக் கண்டறியவும்