Kuidas UUID-d ajatemplit salvestavad?

Mitmed UUID versioonid sisaldavad ajatemplit otse oma struktuuris. UUID v1, mis tutvustati RFC 4122-s, kodeerib 60-bitise Gregoriuse ajatempli, mis esindab 100-nanosekundilisi intervalle alates 15. oktoobrist 1582. UUID v6 järjestab samad ajatempliväljad ümber parema sorditavuse tagamiseks ning UUID v7, mis on määratletud RFC 9562-s, salvestab 48-bitise Unix epoch ajatempli millisekundites. Need sisseehitatud ajatemplid võimaldavad taastada täpse hetke, mil UUID genereeriti — kasulik silumiseks, auditeerimiseks ja kohtuekspertiisi analüüsiks.

Mitte iga UUID ei sisalda ajainformatsiooni. Versioonid 3, 4 ja 5 tuletatakse juhuslikest andmetest või nimeruumi räsidest, seega ei sisalda need taastatavat ajatemplit. Versioon 2 (DCE Security) sisaldab ajatemplit, kuid seda kasutatakse praktikas harva.

Tööriista kirjeldus

See tööriist eraldab ja dekodeerib ajapõhistesse UUID-desse sisseehitatud ajatempli. Kleebi suvaline UUID ja vaata kohe kodeeritud kuupäeva ning kellaaega mitmes vormingus: ISO 8601, UTC, kohalik aeg ning Unix ajatemplid nii sekundites kui millisekundites. Tööriist tuvastab automaatselt UUID versiooni ja rakendab õiget dekodeerimisalgoritmi.

Näited

UUID v1 sisend:

6ba7b810-9dad-11d1-80b4-00c04fd430c8 → 7. aprill 1998

UUID v7 sisend:

018f3e88-5c00-7b3a-8512-2d4a3f8e9c01 → 3. mai 2024

UUID v4 sisend (ajatempel puudub):

550e8400-e29b-41d4-a716-446655440000 → „See UUID versioon ei sisalda ajatemplit"

Funktsioonid

  • Toetab UUID v1 (Gregoriuse ajatempel), v6 (ümberjärjestatud Gregoriuse) ja v7 (Unix epoch millisekundid)
  • Kuvab tulemused ISO 8601, UTC, kohaliku aja ja Unix ajatempli vormingutes
  • Tuvastab automaatselt UUID versiooni ja valib õige dekodeerimismeetodi
  • Valideerib UUID vormingu enne eraldamise alustamist
  • Kuvab selge teate UUID versioonide kohta, mis ei sisalda ajatemplit

Kuidas see töötab

Iga ajapõhine UUID versioon salvestab ajatempli erinevalt:

  • UUID v1 jagab 60-bitise Gregoriuse ajatempli kolme välja vahel: time_low (bitid 0–31), time_mid (bitid 32–47) ja time_hi (bitid 48–59). Ajatempel loendab 100-nanosekundilisi intervalle alates 15. oktoobrist 1582.
  • UUID v6 järjestab v1 ajatempliväljad ümber nii, et kõige olulisemad bitid tulevad esimesena, muutes UUID-d loomisaja järgi loomulikult sorditavaks, kasutades samal ajal sama Gregoriuse epohhi.
  • UUID v7 kasutab lihtsamat lähenemist: esimesed 48 bitti sisaldavad standardset Unix ajatemplit millisekundites, muutes eraldamise lihtsaks ja ühilduvaks kaasaegsete süsteemidega.

Kasutusjuhud

  • Hajutatud süsteemide silumine — määra täpselt, millal kirje või sündmus loodi, dekodeerides sellele määratud UUID
  • Audit ja kohtuekspertiis — kontrolli loomise ajatempleid andmebaasides, mis kasutavad ajapõhiseid UUID-sid primaarvõtmetena
  • Migreerimise planeerimine — analüüsi UUID ajatempleid, et mõista andmete jaotust ja vanust enne süsteemide vahel migreerimist