Generálj univerzálisan egyedi azonosítókat (UUID) különböző alkalmazásokhoz. Készíts időalapú (1. verzió) és véletlenszerű (4. verzió) UUID-kat elosztott rendszerekhez, adatbázisokhoz és még sok máshoz.
A Globálisan Egyedi Azonosító (UUID) egy 128 bites szám, amelyet az információk azonosítására használnak számítógépes rendszerekben. Az UUID-ket az Open Software Foundation (OSF) szabványosította a Distributed Computing Environment (DCE) részeként. Ezeket az azonosítókat úgy tervezték, hogy egyediek legyenek térben és időben, így ideálisak különböző alkalmazásokhoz elosztott rendszerekben és azon túl.
Ez az UUID generátor eszköz lehetővé teszi az 1. verzió (időalapú) és a 4. verzió (véletlenszerű) UUID-k létrehozását. Ezek az azonosítók hasznosak különböző forgatókönyvekben, ahol egyedi azonosításra van szükség, például adatbázis kulcsok, elosztott rendszerek és hálózati protokollok esetén.
Az UUID-t általában 32 hexadecimális számjegyként ábrázolják, öt csoportba rendezve, amelyeket kötőjelek választanak el, a következő formában: 8-4-4-4-12, összesen 36 karakter (32 alfanumerikus karakter és 4 kötőjel). Például:
1550e8400-e29b-41d4-a716-446655440000
2
Az UUID 128 bitje specifikus mezőkre van felosztva, amelyek mindegyike különböző információt hordoz az UUID verziójától függően:
Íme egy diagram, amely bemutatja az UUID struktúráját:
Több verzió létezik az UUID-kből, mindegyik saját generálási módszerrel:
Ez az eszköz az 1. és 4. verzió UUID-k generálására összpontosít.
Az 1. verzió UUID-k a következő összetevőkkel generálódnak:
Az 1. verzió UUID generálásának képlete a következőképpen fejezhető ki:
1UUID = (timestamp * 2^64) + (clock_sequence * 2^48) + node
2
A 4. verzió UUID-ket kriptográfiailag erős véletlenszám-generátorral generálják. A képlet egyszerűen:
1UUID = random_128_bit_number
2
A specifikus bitek beállításával a verzió (4) és a variáns jelzésére.
Az UUID-knak számos alkalmazása van a számítástechnika és a szoftverfejlesztés különböző területein:
Adatbázis Kulcsok: Az UUID-ket gyakran használják elsődleges kulcsokként adatbázisokban, különösen elosztott rendszerekben, ahol több csomópont is generálhat rekordokat egyidejűleg.
Elosztott Rendszerek: Nagy léptékű elosztott rendszerekben az UUID-k segítenek az erőforrások, tranzakciók vagy események egyedi azonosításában több csomópont vagy adatközpont között.
Tartalom Címkézés: Az UUID-ket egyedi azonosítók létrehozására használják a tartalom-címkéző tárolórendszerekben.
Üléskezelés: A webalkalmazások gyakran használnak UUID-ket a felhasználói ülések kezelésére, biztosítva, hogy minden ülésnek egyedi azonosítója legyen.
IoT Eszköz Azonosítás: Az Internet of Things (IoT) alkalmazásokban az UUID-ket egyedi azonosítók létrehozására használják az egyes eszközök számára egy hálózatban.
Bár az UUID-k széles körben használatosak, léteznek alternatív megközelítések az egyedi azonosítók generálására:
Automatikusan növekvő azonosítók: Egyszerűek és gyakran használják egyetlen adatbázis-rendszerekben, de nem alkalmasak elosztott környezetekre.
Időbélyeg-alapú azonosítók: Hasznosak lehetnek időrendben történő adatokhoz, de ütközési problémákkal szembesülhetnek magas egyidejűségű forgatókönyvekben.
Snowflake azonosítók: A Twitter által kifejlesztett azonosítók, amelyek az időbélyeget és a munkás számát kombinálják az elosztott rendszerekben történő egyedi azonosítók generálásához.
ULID (Globálisan Egyedi Lexikográfiai Rendezett Azonosító): Egy újabb alternatíva, amely célja, hogy emberbarátabb és rendezhetőbb legyen, mint az UUID-k.
Az UUID-k koncepcióját először az Apollo Network Computing System-ben vezették be, majd az Open Software Foundation (OSF) szabványosította a Distributed Computing Environment (DCE) részeként az 1990-es években. Az első specifikációt 1997-ben publikálták ISO/IEC 11578:1996 néven, majd 2005-ben felülvizsgálták az ISO/IEC 9834-8:2005 részeként.
A UUID történetének kulcsfontosságú mérföldkövei:
Idővel az UUID-k alapvető eszközzé váltak az elosztott rendszerek és az adatbázis tervezés terén, különböző implementációkkal és alkalmazásokkal, amelyek különböző programozási nyelvekben és platformokon találhatók.
Íme példák az UUID-k generálására különböző programozási nyelvekben:
1import uuid
2
3## Generálj egy 4. verzió (véletlenszerű) UUID-t
4random_uuid = uuid.uuid4()
5print(f"4. verzió UUID: {random_uuid}")
6
7## Generálj egy 1. verzió (időalapú) UUID-t
8time_based_uuid = uuid.uuid1()
9print(f"1. verzió UUID: {time_based_uuid}")
10
1const { v1: uuidv1, v4: uuidv4 } = require('uuid');
2
3// Generálj egy 4. verzió (véletlenszerű) UUID-t
4const randomUuid = uuidv4();
5console.log(`4. verzió UUID: ${randomUuid}`);
6
7// Generálj egy 1. verzió (időalapú) UUID-t
8const timeBasedUuid = uuidv1();
9console.log(`1. verzió UUID: ${timeBasedUuid}`);
10
1import java.util.UUID;
2
3public class UuidGenerator {
4 public static void main(String[] args) {
5 // Generálj egy 4. verzió (véletlenszerű) UUID-t
6 UUID randomUuid = UUID.randomUUID();
7 System.out.println("4. verzió UUID: " + randomUuid);
8
9 // Generálj egy 1. verzió (időalapú) UUID-t
10 UUID timeBasedUuid = UUID.fromString(new com.eaio.uuid.UUID().toString());
11 System.out.println("1. verzió UUID: " + timeBasedUuid);
12 }
13}
14
1require 'securerandom'
2
3## Generálj egy 4. verzió (véletlenszerű) UUID-t
4random_uuid = SecureRandom.uuid
5puts "4. verzió UUID: #{random_uuid}"
6
7## A Ruby nem rendelkezik beépített módszerrel az 1. verzió UUID-k generálására
8## Ehhez egy 'uuidtools' nevű gem használatára lenne szükség
9
1<?php
2// Generálj egy 4. verzió (véletlenszerű) UUID-t
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. verzió UUID: " . $randomUuid . "\n";
11
12// A PHP nem rendelkezik beépített módszerrel az 1. verzió UUID-k generálására
13// Ehhez egy 'ramsey/uuid' nevű könyvtár használatára lenne szükség
14?>
15
Fedezzen fel több olyan eszközt, amely hasznos lehet a munkafolyamatához