Ustvarite univerzalne edinstvene identifikatorje (UUID) za različne aplikacije. Ustvarite tako različico 1 (na osnovi časa) kot različico 4 (naključne) UUID-je za uporabo v distribuiranih sistemih, podatkovnih bazah in še več.
Univerzalno unikatni identifikator (UUID) je 128-bitna številka, ki se uporablja za identifikacijo informacij v računalniških sistemih. UUID-ji so standardizirani s strani Open Software Foundation (OSF) kot del okolja za porazdeljeno računalništvo (DCE). Ti identifikatorji so zasnovani tako, da so unikatni tako v prostoru kot v času, kar jih naredi idealne za različne aplikacije v porazdeljenih sistemih in še več.
Ta orodje za generiranje UUID omogoča ustvarjanje tako različice 1 (na osnovi časa) kot različice 4 (naključni) UUID-jev. Ti identifikatorji so koristni v različnih scenarijih, kjer je potrebna unikatna identifikacija, kot so ključi v bazah podatkov, porazdeljeni sistemi in omrežni protokoli.
UUID je običajno predstavljen kot 32 šestnajstiških številk, prikazanih v petih skupinah, ločenih s pomišljaji, v obliki 8-4-4-4-12, kar skupaj znaša 36 znakov (32 alfanumeričnih znakov in 4 pomišljaji). Na primer:
1550e8400-e29b-41d4-a716-446655440000
2
128 bitov UUID-ja je razdeljenih na specifična polja, pri čemer ima vsako različica UUID različne informacije:
Tukaj je diagram, ki prikazuje strukturo UUID:
Obstaja več različic UUID-jev, vsaka z lastno metodo generiranja:
To orodje se osredotoča na generiranje različic 1 in 4 UUID-jev.
UUID-ji različice 1 se generirajo z uporabo naslednjih komponent:
Formula za generiranje UUID različice 1 se lahko izrazi kot:
1UUID = (timestamp * 2^64) + (clock_sequence * 2^48) + node
2
UUID-ji različice 4 se generirajo z uporabo kriptografsko močnega generatorja naključnih števil. Formula je preprosto:
1UUID = random_128_bit_number
2
S posebnimi biti, nastavljenimi za označevanje različice (4) in variante.
UUID-ji imajo številne aplikacije v različnih področjih računalništva in inženirstva programske opreme:
Ključi v bazah podatkov: UUID-ji se pogosto uporabljajo kot primarni ključi v bazah podatkov, zlasti v porazdeljenih sistemih, kjer lahko več vozlišč hkrati generira zapise.
Porazdeljeni sistemi: V velikih porazdeljenih sistemih UUID-ji pomagajo pri edinstveni identifikaciji virov, transakcij ali dogodkov med več vozlišči ali podatkovnimi centri.
Naslavljanje vsebine: UUID-ji se lahko uporabljajo za ustvarjanje unikatnih identifikatorjev za vsebino v sistemih za shranjevanje z naslovom vsebine.
Upravljanje sej: Spletne aplikacije pogosto uporabljajo UUID-je za upravljanje uporabniških sej, kar zagotavlja, da ima vsaka seja unikatni identifikator.
Identifikacija naprav IoT: V aplikacijah Internet of Things (IoT) se UUID-ji lahko uporabljajo za edinstveno identifikacijo posameznih naprav v omrežju.
Čeprav se UUID-ji široko uporabljajo, obstajajo alternativni pristopi za generiranje unikatnih identifikatorjev:
Samodejno povečevanje ID-jev: Preprosto in pogosto uporabljeno v enojnih sistemih baz podatkov, vendar ni primerno za porazdeljena okolja.
ID-ji na osnovi časa: Lahko so koristni za časovno urejene podatke, vendar se lahko srečajo s težavami pri podvajanju v scenarijih z veliko konkurenco.
ID-ji Snowflake: Razviti s strani Twitterja, ti ID-ji združujejo časovni žig in številko delavca za generiranje unikatnih ID-jev v porazdeljenih sistemih.
ULID (Univerzalno unikatni leksikografsko razvrščeni identifikator): Bolj nedavna alternativa, ki si prizadeva biti bolj prijazna do uporabnika in razvrščena kot UUID-ji.
Koncept UUID-jev je prvič uveden v Apollo Network Computing System in kasneje standardiziran s strani Open Software Foundation (OSF) kot del okolja za porazdeljeno računalništvo (DCE) v devetdesetih letih. Prva specifikacija je bila objavljena leta 1997 kot ISO/IEC 11578:1996 in kasneje revidirana leta 2005 kot del ISO/IEC 9834-8:2005.
Ključni mejniki v zgodovini UUID:
Sčasoma so UUID-ji postali bistveno orodje v porazdeljenih sistemih in oblikovanju baz podatkov, z različnimi implementacijami in prilagoditvami v različnih programskih jezikih in platformah.
Tukaj so primeri generiranja UUID-jev v različnih programskih jezikih:
1import uuid
2
3## Ustvari UUID različice 4 (naključni)
4random_uuid = uuid.uuid4()
5print(f"UUID različice 4: {random_uuid}")
6
7## Ustvari UUID različice 1 (na osnovi časa)
8time_based_uuid = uuid.uuid1()
9print(f"UUID različice 1: {time_based_uuid}")
10
1const { v1: uuidv1, v4: uuidv4 } = require('uuid');
2
3// Ustvari UUID različice 4 (naključni)
4const randomUuid = uuidv4();
5console.log(`UUID različice 4: ${randomUuid}`);
6
7// Ustvari UUID različice 1 (na osnovi časa)
8const timeBasedUuid = uuidv1();
9console.log(`UUID različice 1: ${timeBasedUuid}`);
10
1import java.util.UUID;
2
3public class UuidGenerator {
4 public static void main(String[] args) {
5 // Ustvari UUID različice 4 (naključni)
6 UUID randomUuid = UUID.randomUUID();
7 System.out.println("UUID različice 4: " + randomUuid);
8
9 // Ustvari UUID različice 1 (na osnovi časa)
10 UUID timeBasedUuid = UUID.fromString(new com.eaio.uuid.UUID().toString());
11 System.out.println("UUID različice 1: " + timeBasedUuid);
12 }
13}
14
1require 'securerandom'
2
3## Ustvari UUID različice 4 (naključni)
4random_uuid = SecureRandom.uuid
5puts "UUID različice 4: #{random_uuid}"
6
7## Ruby nima vgrajene metode za UUID različice 1
8## Uporabiti bi morali gem, kot je 'uuidtools' za to
9
1<?php
2// Ustvari UUID različice 4 (naključni)
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 "UUID različice 4: " . $randomUuid . "\n";
11
12// PHP nima vgrajene metode za UUID različice 1
13// Uporabiti bi morali knjižnico, kot je 'ramsey/uuid' za to
14?>
15
Odkrijte več orodij, ki bi lahko bila koristna za vaš delovni proces