ವಿವಿಧ ಅಪ್ಲಿಕೇಶನ್ಗಳಿಗೆ ವಿಶ್ವಾಸಾರ್ಹವಾಗಿ ವಿಶಿಷ್ಟ ಗುರುತನ್ನು (UUID) ಉತ್ಪಾದಿಸಿ. ವಿತರಣಾ ವ್ಯವಸ್ಥೆಗಳಲ್ಲಿ, ಡೇಟಾಬೇಸ್ಗಳಲ್ಲಿ ಮತ್ತು ಇನ್ನಷ್ಟು ಬಳಸಲು ಆಧಾರಿತ ಆವೃತ್ತಿ 1 (ಕಾಲ ಆಧಾರಿತ) ಮತ್ತು ಆವೃತ್ತಿ 4 (ಯಾದೃಚ್ಛಿಕ) UUIDಗಳನ್ನು ರಚಿಸಿ.
ಯುನಿವರ್ಸಲ್ ಯುನಿಕ್ ಐಡೆಂಟಿಫೈಯರ್ (UUID) 128-ಬಿಟ್ ಸಂಖ್ಯೆಯಾಗಿದೆ, ಇದು ಕಂಪ್ಯೂಟರ್ ವ್ಯವಸ್ಥೆಗಳಲ್ಲಿ ಮಾಹಿತಿಯನ್ನು ಗುರುತಿಸಲು ಬಳಸಲಾಗುತ್ತದೆ. UUIDಗಳನ್ನು ಓಪನ್ ಸಾಫ್ಟ್ವೇರ್ ಫೌಂಡೇಶನ್ (OSF) ಮೂಲಕ ವಿತರಣಾ ಕಂಪ್ಯೂಟಿಂಗ್ ಪರಿಸರ (DCE) ಭಾಗವಾಗಿ ಮಾನಕೀಕೃತಗೊಳಿಸಲಾಗಿದೆ. ಈ ಗುರುತಿಸುವಿಕೆಗಳು ಸ್ಥಳ ಮತ್ತು ಕಾಲದಲ್ಲಿ ವಿಶಿಷ್ಟವಾಗಿರಲು ವಿನ್ಯಾಸಗೊಳ್ಳುತ್ತವೆ, ಇದರಿಂದಾಗಿ ವಿತರಣಾ ವ್ಯವಸ್ಥೆಗಳಲ್ಲಿ ಮತ್ತು ಇತರ ಸ್ಥಳಗಳಲ್ಲಿ ವಿವಿಧ ಅಪ್ಲಿಕೇಶನ್ಗಳಿಗೆ ಇವುಗಳನ್ನು ಸೂಕ್ತವಾಗಿಸುತ್ತದೆ.
ಈ UUID ಜನರೇಟರ್ ಸಾಧನವು ಆವೃತ್ತಿ 1 (ಕಾಲ ಆಧಾರಿತ) ಮತ್ತು ಆವೃತ್ತಿ 4 (ಯಾದೃಚ್ಛಿಕ) UUIDಗಳನ್ನು ರಚಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ. ಈ ಗುರುತಿಸುವಿಕೆಗಳು ಡೇಟಾಬೇಸ್ ಕೀಗಳು, ವಿತರಣಾ ವ್ಯವಸ್ಥೆಗಳು ಮತ್ತು ನೆಟ್ವರ್ಕ್ ಪ್ರೋಟೋಕಾಲ್ಗಳಲ್ಲಿ ಅಗತ್ಯವಿರುವ ವಿಶಿಷ್ಟ ಗುರುತಿಸುವಿಕೆಗೆ ಬಳಸಲಾಗುತ್ತವೆ.
UUID ಸಾಮಾನ್ಯವಾಗಿ 32 ಹೆಕ್ಸಾಡೆಸಿಮಲ್ ಅಂಕಿಗಳನ್ನು 36 ಅಕ್ಷರಗಳಲ್ಲಿ (32 ಅಕ್ಷರ ಮತ್ತು 4 ಹೈಫನ್) 8-4-4-4-12 ರೂಪದಲ್ಲಿ ಹೈಫನ್ಗಳಿಂದ ವಿಭಜಿತವಾಗಿ ಪ್ರದರ್ಶಿಸಲಾಗುತ್ತದೆ. ಉದಾಹರಣೆಗೆ:
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ಗಳು ವ್ಯಾಪಕವಾಗಿ ಬಳಸಲಾಗುವಾಗ, ವಿಶಿಷ್ಟ ಗುರುತಿಗಳನ್ನು ಉತ್ಪಾದಿಸಲು ಪರ್ಯಾಯ ವಿಧಾನಗಳಿವೆ:
ಸ್ವಯಂ-ವೃದ್ಧಿ ಐಡಿಗಳು: ಅತೀ ಸರಳ ಮತ್ತು ಒಬ್ಬ ಡೇಟಾಬೇಸ್ ವ್ಯವಸ್ಥೆಗಳಲ್ಲಿ ಸಾಮಾನ್ಯವಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ, ಆದರೆ ವಿತರಣಾ ಪರಿಸರಗಳಿಗೆ ಸೂಕ್ತವಲ್ಲ.
ಟೈಮ್ಸ್ಟ್ಯಾಂಪ್ ಆಧಾರಿತ ಐಡಿಗಳು: ಕಾಲ ಕ್ರಮದಲ್ಲಿ ಡೇಟಾಿಗಾಗಿ ಉಪಯುಕ್ತವಾಗಬಹುದು ಆದರೆ ಹೆಚ್ಚಿನ-ಸಂಖ್ಯಾತ ಸನ್ನಿವೇಶಗಳಲ್ಲಿ ಡುಪ್ಲಿಕೇಶನ್ ಸಮಸ್ಯೆಗಳನ್ನು ಎದುರಿಸಬಹುದು.
ಸ್ನೋಫ್ಲೇಕ್ ಐಡಿಗಳು: ಟ್ವಿಟ್ಟರ್ನಿಂದ ಅಭಿವೃದ್ಧಿಪಡಿತ, ಈ ಐಡಿಗಳು ವಿತರಣಾ ವ್ಯವಸ್ಥೆಗಳಲ್ಲಿ ವಿಶಿಷ್ಟ ಐಡಿಗಳನ್ನು ಉತ್ಪಾದಿಸಲು ಟೈಮ್ಸ್ಟ್ಯಾಂಪ್ ಮತ್ತು ಕಾರ್ಮಿಕ ಸಂಖ್ಯೆಯನ್ನು ಸಂಯೋಜಿಸುತ್ತವೆ.
ULID (ಯುನಿವರ್ಸಲ್ ಯುನಿಕ್ ಲೆಕ್ಸಿಕೋಗ್ರಾಫಿಕಲ್ ಸೋರ್ಟಬಲ್ ಐಡೆಂಟಿಫೈಯರ್): UUIDಗಳಿಂದ ಹೆಚ್ಚು ಮಾನವ ಸ್ನೇಹಿ ಮತ್ತು ಸೋರ್ಟಬಲ್ ಆಗಲು ಉದ್ದೇಶಿತವಾದ ಇತ್ತೀಚಿನ ಪರ್ಯಾಯ.
UUIDಗಳ ಕಲ್ಪನೆ ಮೊದಲು ಅಪೋಲೋ ನೆಟ್ವರ್ಕ್ ಕಂಪ್ಯೂಟಿಂಗ್ ವ್ಯವಸ್ಥೆಯಲ್ಲಿ ಪರಿಚಯಿಸಲಾಯಿತು ಮತ್ತು ನಂತರ 1990ರ ದಶಕದಲ್ಲಿ ಓಪನ್ ಸಾಫ್ಟ್ವೇರ್ ಫೌಂಡೇಶನ್ (OSF) ಮೂಲಕ ಮಾನಕೀಕೃತಗೊಳಿಸಲಾಯಿತು. ಪ್ರಾರಂಭಿಕ ನಿರ್ದಿಷ್ಟತೆ 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## ಆವೃತ್ತಿ 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
ನಿಮ್ಮ ಕೆಲಸದ ಹಂತಕ್ಕೆ ಉಪಯೋಗಿಸಬಹುದಾದ ಹೆಚ್ಚು ಉಪಕರಣಗಳನ್ನು ಹುಡುಕಿ ಹೊಸ ಉಪಕರಣಗಳನ್ನು ಕಂಡುಹಿಡಿಯಿರಿ