Πώς αποθηκεύουν χρονικές σφραγίδες τα UUID;

Αρκετές εκδόσεις UUID ενσωματώνουν μια χρονική σφραγίδα απευθείας στη δομή τους. Το UUID v1, που εισήχθη στο RFC 4122, κωδικοποιεί μια 60-bit Γρηγοριανή χρονική σφραγίδα που αναπαριστά διαστήματα 100 νανοδευτερολέπτων από τις 15 Οκτωβρίου 1582. Το UUID v6 αναδιατάσσει τα ίδια πεδία χρονικής σφραγίδας για καλύτερη δυνατότητα ταξινόμησης, και το UUID v7, που ορίζεται στο RFC 9562, αποθηκεύει μια 48-bit χρονική σφραγίδα Unix epoch σε milliseconds. Αυτές οι ενσωματωμένες χρονικές σφραγίδες καθιστούν δυνατή την ανάκτηση της ακριβούς στιγμής δημιουργίας ενός UUID — χρήσιμο για debugging, έλεγχο και εγκληματολογική ανάλυση.

Δεν φέρουν όλα τα UUID πληροφορίες χρόνου. Οι εκδόσεις 3, 4 και 5 προέρχονται από τυχαία δεδομένα ή hashes χώρου ονομάτων, επομένως δεν περιέχουν ανακτήσιμη χρονική σφραγίδα. Η έκδοση 2 (DCE Security) περιλαμβάνει χρονική σφραγίδα, αλλά σπάνια χρησιμοποιείται στην πράξη.

Περιγραφή εργαλείου

Αυτό το εργαλείο εξάγει και αποκωδικοποιεί τη χρονική σφραγίδα που είναι ενσωματωμένη σε UUID βασισμένα στον χρόνο. Επικολλήστε οποιοδήποτε UUID και δείτε αμέσως την κωδικοποιημένη ημερομηνία και ώρα σε πολλαπλές μορφές: ISO 8601, UTC, τοπική ώρα και Unix timestamps σε δευτερόλεπτα και milliseconds. Το εργαλείο εντοπίζει αυτόματα την έκδοση UUID και εφαρμόζει τον σωστό αλγόριθμο αποκωδικοποίησης.

Παραδείγματα

Είσοδος UUID v1:

6ba7b810-9dad-11d1-80b4-00c04fd430c8 → 7 Απριλίου 1998

Είσοδος UUID v7:

018f3e88-5c00-7b3a-8512-2d4a3f8e9c01 → 3 Μαΐου 2024

Είσοδος UUID v4 (χωρίς χρονική σφραγίδα):

550e8400-e29b-41d4-a716-446655440000 → «Αυτή η έκδοση UUID δεν περιέχει χρονική σφραγίδα»

Χαρακτηριστικά

  • Υποστηρίζει UUID v1 (Γρηγοριανή χρονική σφραγίδα), v6 (αναδιατεταγμένη Γρηγοριανή) και v7 (Unix epoch milliseconds)
  • Εμφανίζει αποτελέσματα σε μορφές ISO 8601, UTC, τοπική ώρα και Unix timestamp
  • Εντοπίζει αυτόματα την έκδοση UUID και επιλέγει τη σωστή μέθοδο αποκωδικοποίησης
  • Επικυρώνει τη μορφή UUID πριν από την απόπειρα εξαγωγής
  • Εμφανίζει σαφές μήνυμα για εκδόσεις UUID που δεν περιέχουν χρονικές σφραγίδες

Πώς λειτουργεί

Κάθε έκδοση UUID βασισμένη στον χρόνο αποθηκεύει τη χρονική σφραγίδα της διαφορετικά:

  • UUID v1 χωρίζει μια 60-bit Γρηγοριανή χρονική σφραγίδα σε τρία πεδία: time_low (bits 0–31), time_mid (bits 32–47) και time_hi (bits 48–59). Η χρονική σφραγίδα μετράει διαστήματα 100 νανοδευτερολέπτων από τις 15 Οκτωβρίου 1582.
  • UUID v6 αναδιατάσσει τα πεδία χρονικής σφραγίδας του v1 ώστε τα πιο σημαντικά bits να έρχονται πρώτα, καθιστώντας τα UUID φυσικά ταξινομήσιμα κατά χρόνο δημιουργίας, ενώ χρησιμοποιεί την ίδια Γρηγοριανή αφετηρία.
  • UUID v7 ακολουθεί μια απλούστερη προσέγγιση: τα πρώτα 48 bits περιέχουν μια τυπική Unix χρονική σφραγίδα σε milliseconds, καθιστώντας την εξαγωγή απλή και συμβατή με σύγχρονα συστήματα.

Περιπτώσεις χρήσης

  • Debugging κατανεμημένων συστημάτων — προσδιορίστε με ακρίβεια πότε δημιουργήθηκε μια εγγραφή ή ένα συμβάν αποκωδικοποιώντας το UUID που της έχει εκχωρηθεί
  • Έλεγχος και εγκληματολογία — επαληθεύστε χρονικές σφραγίδες δημιουργίας σε βάσεις δεδομένων που χρησιμοποιούν UUID βασισμένα στον χρόνο ως πρωτεύοντα κλειδιά
  • Σχεδιασμός μετεγκατάστασης — αναλύστε χρονικές σφραγίδες UUID για να κατανοήσετε την κατανομή και την ηλικία των δεδομένων πριν από τη μετεγκατάσταση μεταξύ συστημάτων